确定哪些芹菜工人正在消耗工作并告诉他们停止工作

时间:2014-03-20 18:19:52

标签: multithreading celery django-celery

场景:如何优雅地告诉工作人员停止接受新工作,并确定他们何时完成当前工作的处理,以便在工人上线时关闭工作。

详情(请随意纠正我的任何假设):

这是我当前队列的片段。

Queues

正如你所看到的,我有2个工作交换队列(我相信这是* .pidbox),2个队列代表每个主机上的celeryev(是的,我知道我只需要一个),还有一个默认的芹菜队列。很明显,我在这个队列中有90多个工作。

(旁边问题)你从哪里找到从管理控制台中消耗这份工作的工人?我知道我可以看看djcelery并想出来。

DJCelery Jobs

所以..我知道每个主机上都有作业运行 - 我无法关闭那些机器上的芹菜,因为它会杀死正在运行的作业(以及任何待处理的作业?)。

如何在允许仍在运行的作业完成的同时停止对新作业的进一步处理?我知道在每台主机上我都可以停止芹菜,但这会杀死当前正在运行的作业。我想对料斗中的22个作业说停止

谢谢!

0 个答案:

没有答案