按计划设置每项任务的工人数

时间:2012-06-05 15:04:16

标签: celery

我在Celery中有4个计划任务,每N秒执行一次。 现在,应用程序逻辑为每个任务只提供一个worker(它从db读取数据,不允许并行执行)。

但我可以通过使用为所有任务设置只有1名工人 CELERYD_CONCURRENCY = 1

如何为每项任务设置单个工作人员?感谢

1 个答案:

答案 0 :(得分:0)

我认为你的意思是你不希望你的4个任务并行运行?如果是这种情况,您应该使用类似“链”的子任务,请参阅:

http://docs.celeryproject.org/en/latest/userguide/canvas.html#chains

只需将您的任务添加到带有|的链中运算符,然后使用delay()或async_delay()执行它。这样,您的下一个任务将仅在前一个任务完成后才开始。并且池中的一名工作人员将被分配到每个任务(可以是同一个工作人员或不同的工作人员)。