gpt4 book ai didi

python - celeryd 进程的数量是否取决于 --concurrency 设置?

转载 作者:太空狗 更新时间:2023-10-30 00:08:00 24 4
gpt4 key购买 nike

我们在 Supervisor 后面运行 Celery 并以

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

但是,这会创建一个最多三层深的流程图,最多包含 7 个 celeryd 进程(Supervisor 生成一个 celeryd,它生成多个其他 celeryd,这些 celeryd 又生成多个进程)。我们的机器有两个 CPU 内核。

是否所有这些流程都在处理任务?也许其中一些只是工作人员池? --concurrency 设置如何与实际生成的进程数相关联?

最佳答案

如果 --concurrency 为 2,则不应有 7 个进程。

实际启动的进程是:

  • 主要消费流程

    将工作委托(delegate)给工作池

  • worker pool(这是--concurrency决定的数量)

所以这是 3 个进程,并发数为 2。

此外,还启动了一个用于清理信号量的非常轻量级的进程如果启用了 force_execv(这是默认情况下,我正在使用其他一些传输比 redis 或 rabbitmq)。

请注意,在某些情况下,进程列表还包括线程。如果使用 rabbitmq/redis 以外的传输,工作人员可能会启动多个线程,包括一个始终启动的 Mediator 线程,除非启用 CELERY_DISABLE_RATE_LIMITS

关于python - celeryd 进程的数量是否取决于 --concurrency 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com