用Postgres作为经纪人设置Celery-没有这样的传输'db'

时间:2019-01-25 19:26:29

标签: postgresql celery

我目前正在尝试将postgres设置为Celery的经纪人:

broker = "db+postgresql://guest:guest@postgres-localnet/test_db"
app = Celery('tasks', broker=broker)

@app.task
def add(x, y):
    return x + y

当我尝试添加消息/任务时:

>>> import app.tasks as t
>>> t.add.delay(1,2)

我收到以下错误消息:

  File "/usr/local/lib/python3.6/site-packages/kombu/transport/__init__.py", line 64, in resolve_transport
    raise KeyError('No such transport: {0}'.format(transport))
KeyError: 'No such transport: db'

根据文档(http://docs.celeryproject.org/en/latest/userguide/configuration.html#database-url-examples),看来这应该可行。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

从celery 4.2开始,您不能将数据库用作代理。根据文档only four brokers are supported

  • redis
  • rabbitmq
  • 平方
  • zookeeper

对于海带级运输,您可以咨询this reference