python - celery 与 RabbitMQ : AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'

标签 python celery

我正在运行 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/

相关文章:

python - 使用 Flask 和 SQLAlchemy 的 Celery 任务中的数据库未更新

python - 家庭作业 - Python 代理服务器

python - 我怎样才能 "condense"这个代码?

python - 如何使用偶数和奇数函数同步两个线程

django - 将消息从Celery任务发送到 channel

django - 在 Celery 任务中运行 Scrapy 蜘蛛(django 项目)

python - 如何实现每个工作线程同步以避免与 Celery 上的信号连接的方法出现竞争条件?

redis - django-celery celerybeat 周期性任务每 5 秒运行一次,与间隔无关

python - python hmmlearn 中导入错误

python - Jinja2 - 复制变量而不是引用它