【发布时间】:2016-06-04 07:46:45
【问题描述】:
我使用 Celery 和 RabbitMQ 作为代理,redis 作为结果后端。我现在手动将任务分派给工人。我一发出任务就可以得到任务ID。但实际上芹菜工人并没有在他们身上工作。我在磁盘上看不到结果文件。后来当我想用AsyncResult查看结果时,当然得到了AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'
我检查了 RabbitMQ 和 redis,它们都在工作 (redis-cli ping)。日志还写着Connected to amqp://myuser:**@127.0.0.1:5672/myvhost。
另一个有趣的事情是我实际上有另一个远程服务器正在使用连接到代理的任务。它还记录“连接到 amqp”,但两个节点无法看到对方:mingle: searching for neighbors, mingle: all alone。该系统以前工作过。我想知道我应该从哪里开始寻找线索。谢谢。
【问题讨论】:
-
请出示您的 celeryconfig、任务定义示例和任务调用代码
-
可能你没有设置 CELERY_RESULT_BACKEND。参考这个问题 - stackoverflow.com/questions/23215311/…
-
这是另一个您可以参考的问题 - stackoverflow.com/questions/24309035/…