芹菜启动的进程比配置的多



我正在运行一个芹菜机器,使用redis作为代理,配置如下:

celery -A project.tasks:app worker -l info --concurrency=8

当检查芹菜运行进程的数量时,我看到超过8个。

我是不是漏掉了什么?最大并发数有限制吗?

这个问题导致大量的内存分配,并且正在杀死机器。

在默认设置下,芹菜总是会比你要求的多启动一个进程。这个附加的流程是一种记账流程,用于协调作为worker一部分的其他流程。它与芹菜的其余部分通信,并将任务分派给实际运行任务的进程。

切换到不同的池实现而不是默认的"prefork"可能会减少创建的进程数量,但这会打开新的蠕虫罐头。

对于并发性问题,我没有建议。

对于内存问题,您可以查看~/.redis/redis.conf中的redis配置。您有一个maxmemory属性,它对任务进行限制…

查看Redis配置

相关内容

  • 没有找到相关文章

最新更新