芹菜:如何将特定数量的工人分配到不同的队列中?



我有一个celery应用程序,从大量队列中消耗gevent并发。 对于每个队列,我需要有一些保证数量的工作器,但每个队列的数量是不同的。例如:

  • qA 必须有 10
  • qB 必须有 25
  • qN 必须有 M 等。

由于队列总数很大,我想避免为每个队列启动专用celeryd

工人做很多 IO,我使用-P gevent所以不在乎启动celeryd有多少子工人。

有没有办法配置单个celeryd实例以将特定数量的工作器分配给不同的队列?

Celerymulti允许彼此独立地配置工作线程。 例如

celery multi start node1 node2 -c:1 5 -Q:1 queue1 -c:2 10 -Q:2 queue2

启动 2 个工作线程:第一个node1从具有并发 5queue1消耗,第二个node2从具有并发 10 的queue2消耗。

查看multi.py文档字符串

相关内容

  • 没有找到相关文章

最新更新