【发布时间】:2014-12-06 05:24:30
【问题描述】:
根据我的阅读,似乎是芹菜工人停止了,它应该能够在重新开始时从队列中消费。
为了测试这一点,我启动了 3 台虚拟机,每台机器都有 2 名 celery 工人。我正在使用芹菜守护进程。一台机器有客户端脚本,一台作为代理,虽然它们都在运行rabbitmq。
当我启动客户端脚本时,我的所有工作人员都在获取任务(从我可以看出的日志中)。为了测试失败时会发生什么,我发出
service celeryd stop
到我的一台机器。然后一分钟后,我发出
service celeryd start
到我一分钟前停止的机器。但是,发出此命令后,我的客户端脚本冻结并停止,我在上述机器上的工作人员再也不会收到任务。
知道发生了什么吗?我猜可能是芹菜工人在被关闭之前所做的最后一项任务以某种方式受到干扰?
仅供参考:在我的客户端脚本中收到结果后,我将删除临时队列,但我认为这不会影响上述问题。
【问题讨论】:
标签: rabbitmq celery django-celery