我目前正在尝试将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),看来这应该可行。
我在这里做错了什么?
答案 0 :(得分:0)
从celery 4.2开始,您不能将数据库用作代理。根据文档only four brokers are supported:
对于海带级运输,您可以咨询this reference。