芹菜:限制任务队列

Celery: restrict queues for a task

我有多个队列,假设这些是 Q1Q2

我还有一些任务,其中之一是T1

如何配置 Celery 以便工作人员仅从 Q1 中获取 T1,而从不接受来自 Q2 中的 T1

你可以用芹菜来实现这个apps。将不同类型的任务注册到不同的应用程序和仅在这些应用程序上的 运行 workers(例如,请参阅 celery worker 命令的 -A myapp 设置)。

或者,如果您使用更简单的方法 different queues,您也可能会成功。因此,如果您设法仅将 T1 发送到名为 queue1 的队列,将 T2 发送到 queue2,则可以在 celery worker 上使用选项 -Q queue1,因此它只从 queue1 中获取任务。

当你启动你的工人时,你可以为他指定一个队列

celery -A proj worker -Q queue_name