Celery Worker - 从匹配正则表达式的队列中消费

Naz*_*han 5 python celery django-celery

背景

Celery worker 可以使用 -Q 标志针对一组队列启动。例如

-Q dev.Q1,dev.Q2,dev.Q3

到目前为止,我已经看到所有队列名称都明确列出为逗号分隔值的示例。如果我有一个很长的列表就很麻烦。

有没有一种方法可以将队列名称指定为正则表达式,芹菜工作者将从满足该正则表达式的所有队列中开始消费。

例如

-Q 开发。*

这应该消耗从 dev 开始的所有 queuess,即 dev.Q1、dev.Q2、dev.Q3。但我所看到的是 - 它创建了一个队列开发。.*

此外,我如何调整正则表达式,使其不选择错误队列,例如 dev.Q1.ERROR、dev.Q2.ERROR。

vin*_*nce -2

沿着这些思路的东西会起作用:(\b(dev.)(\w+))。然后参考第二组“dev.”之后的内容。

如果您想获取多个实例,则需要将其设置为捕获重复实例。