我看到任务似乎"消失"在芹菜中,用2个节点运行。这似乎是随机发生的。任务创建如下:
task = perform_advance.apply_async(...)
logger.info('Task created, id: {}'.format(task.task_id))
当这起作用时,我会看到这样的东西:
[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
也参与了这项工作。
我想我会很乐意在这里分享这个问题的解决方案。
原来是RabbitMQ的内部AmazonELB负载均衡器把我们搞砸了。直接连接到RabbitMQ而不是ELB解决了这个问题。