芹菜随意丢失任务

jef*_*eff 9 python rabbitmq celery

我看到任务似乎在芹菜中"消失",运行2个节点.它似乎是随机发生的.任务创建如下:

task = perform_advance.apply_async(...)
logger.info('Task created, id: {}'.format(task.task_id))
Run Code Online (Sandbox Code Playgroud)

当这工作时,我会看到类似的东西:

[2016-04-21 01:13:02,470: INFO/Worker-8] foo.tasks.some_task[e52615da-de7a-49de-88d6-b3ca43a3383f]: Task created, id: eaaeb427-a167-4a78-ba39-4803e20cc753

[2016-04-29 21:18:40,667: DEBUG/MainProcess] Task accepted: foo.tasks.some_task[eaaeb427-a167-4a78-ba39-4803e20cc753] pid:1104

但是当它失败时,我从未看到任务被接受,只有它被创建.日志中没有错误.

芹菜版: 3.1.23

rabbitmq版本: 3.3.3

小智 1

也致力于这方面的工作。

我想我会很乐意在这里分享这个问题的解决方案。

结果是 RabbitMQ 的内部 Amazon ELB 负载均衡器让我们陷入困境。直接连接到 RabbitMQ 而不是 ELB 解决了这个问题。