有什么办法可以限制celery的工人数量?我的服务器很小,celery总是在1个核心处理器上创建10个进程。我想将此数目限制为3个进程。
我尝试在我的settings.py文件中将并发设置为1,将max_tasks_per_child设置为1,并同时运行3个任务。它仅以用户的身份生成1个进程,而以Celery的形式生成其他2个进程。它应该只运行1个进程,然后等待它完成,然后再运行另一个进程。
我正在使用djangocelery。
编辑 {
我通过在settings.py文件中写入CELERYD_CONCURRENCY = 1来分配并发性。但是,当我使用“ tail -f /var/log/celery/w1.log”查看celery日志文件时,我看到为并发分配的值为8。这告诉我setting.py不会更改并发。为了解决这个问题,我在“ / etc / default / celeryd”文件中添加了以下几行。
# Extra arguments to celeryd CELERYD_OPTS="--concurrency=1"
现在,队列中的第二个任务等待,直到第一个任务完成。
}