芹菜:CELERYD_CONCURRENCY和工人数量

时间:2015-02-09 21:45:50

标签: celery django-celery worker

other stackoverflow answer开始,我试图限制芹菜的工人数量

在我终止所有芹菜工人后,我重新启动芹菜新配置。

CELERYD_CONCURRENCY = 1(在Django的 settings.py 中)

然后我输入以下命令来检查有多少芹菜工人在工作。

ps auxww | grep 'celery worker' | grep -v grep | awk '{print $2}'

返回两个PID ,如24803,24817。

然后我将配置更改为CELERYD_CONCURRENCY = 2并重新启动芹菜。

相同的命令返回三个PID ,如24944,24958,24959。(如您所见,最后两个PID是顺序的

这意味着工人数按我的预期增加。

但是,我不知道为什么它会返回两个PID,即使只有一个芹菜工人正在工作?

是否有某种辅助流程来帮助工人?

1 个答案:

答案 0 :(得分:7)

我相信一个进程总是像控制器一样侦听任务,然后将它们分发给它的子进程以实际执行工作。因此,您将始终拥有比配置设置多1个进程。