只依赖于--concurrency设置celeryd进程的数量?(Does the number o

2019-06-26 16:18发布

我们正在运行芹菜背后监事,与启动

celeryd --events --loglevel=INFO --concurrency=2

然而,这会创建一个进程图,其是最多三个层深并且包含多达7个celeryd进程(主管产卵一个celeryd,其产卵数人,而这又产生进程)。 我们的机器有两个CPU内核。

在所有这些过程对任务的工作? 是也许有些人只是工人池? 如何连接的进程数的--concurrency设置实际上催生了?

Answer 1:

你不应该有7个处理,如果--concurrency为2。

开始实际的过程是:

  • 主要消费过程

    代表工作的工人池

  • 工人池(这是数--concurrency决定)

所以这是3个进程与两个并发。

除了用于清理信号灯一款非常轻便的过程中,如果force_execv启用(这是我你使用的是其他交通工具比redis的或RabbitMQ的默认情况下)开始。

请注意,在某些情况下,上市过程也包括螺纹。 如果使用的不是RabbitMQ的/ redis的其他传输,其中包括中保线程,除非是始终启动劳动者可以启动多个线程CELERY_DISABLE_RATE_LIMITS启用。



文章来源: Does the number of celeryd processes depend on the --concurrency setting?