我正在运行 First Steps with Celery Tutorial .
我们定义以下任务:
from celery import Celery
app = Celery('tasks', broker='amqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
然后调用它:
>>> from tasks import add
>>> add.delay(4, 4)
但我收到以下错误:
AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'
我正在运行 celery worker 和 rabbit-mq 服务器。奇怪的是,celery worker 报告任务成功:
[2014-04-22 19:12:03,608: INFO/MainProcess] Task test_celery.add[168c7d96-e41a-41c9-80f5-50b24dcaff73] succeeded in 0.000435483998444s: 19
为什么这不起作用?
最佳答案
继续阅读教程。将在Keep Results 中解释。章节。
要启动 Celery,您只需要提供 broker 参数,这是发送有关任务的消息所必需的。如果要检索有关已完成任务返回的状态和结果的信息,则需要设置 backend 参数。您可以在 Configuration docs: CELERY_RESULT_BACKEND 中找到带有描述的完整列表.
关于python - celery 与 RabbitMQ : AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215311/