我有多个队列,我们说这些是Q1
和Q2
。
我也有一些任务,其中一项是T1
。
如何配置Celery,以便工作人员只从T1
获取Q1
,从不接受T1
中的Q2
?
答案 0 :(得分:2)
您可以使用芹菜apps来实现这一目标。将不同类型的任务注册到不同的应用程序,并仅在这些应用程序上运行工作程序(例如,参见celery worker命令的-A myapp
设置)。
如果您沿着更简单的路线使用different queues,您也可能会取得成功。因此,如果您设法仅将T1发送到名为queue1的队列,将T2发送到queue2,则可以在celery worker上使用选项-Q queue1
,因此它仅从queue1中获取任务。
答案 1 :(得分:0)
当你启动你的工作人员时,你可以为他指定一个队列
celery -A proj worker -Q queue_name