芹菜工人不消耗任务,也不检索结果



我正在使用 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 。该系统以前工作过。我想知道我应该从哪里开始寻找线索。谢谢。

关于AttributeError消息,添加类似于下面的backend配置设置应该有助于解决它:

app = Celery('tasks', broker='pyamqp://guest@localhost//', backend='amqp://')

我的芹菜版本是 4.2.1。我将CELERY_RESULT_BACKEND设置为"rpc://"并解决此问题。

另请参阅芹菜result_backend配置文档

相关内容

  • 没有找到相关文章

最新更新