芹菜:CELERYD_CONCURRENCY和工人数量



从另一个stackoverflow的答案来看,我试图限制芹菜的工人数量

在我终止了所有的芹菜工作程序之后,我用新的配置重新启动了芹菜。

CELERYD_CONCURRENCY = 1(在Django的设置.py中)

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

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

它返回两个PID,如2480324817。

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

相同的命令返回三个PID,如24944、24958、24959。(正如您所看到的,最后两个PID是连续的)

这意味着工人的数量正如我所预期的那样增加了。

然而,我不知道为什么它返回两个PID,即使只有一个芹菜工人在工作

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

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

相关内容

  • 没有找到相关文章

最新更新