在具有8个核心的环境中,芹菜应该能够默认并行处理8个传入任务。但有时候,当收到新任务时,芹菜将它们置于长期运行的过程中。
我使用默认配置,让一个工作人员从一个队列中消耗。
celery -A proj worker --loglevel=INFO --concurrency=8
我的理解是错误的,一个并发度为8的工人能够并行处理一个队列中的8个任务吗?
如何设置芹菜来防止上述行为的首选方法?
答案 0 :(得分:3)
简单地说,并发性就是在工作者上运行的作业数量。预取是工作人员自己在队列中的作业数。您有2个选项中的1个。第一种方法是将预取乘数设置为1.这意味着工作人员只会在其队列中保留8个额外的作业。我建议的第二个是为你的短期任务创建两个不同的队列,为你的长期任务创建另一个队列。