如何在多工作Celery环境中引用不同的队列名称?

时间:2016-05-18 08:31:12

标签: celery

我按照以下方式启动Celery工作人员:

celery multi start celery1@turing.lan celery2@turing.lan -A tserver.app -Q celery,hq1 -c 8 -l info

我正在寻找一种方法来获得一个名为'high'的额外队列,我只想让celery2 @turing.lan工作者订阅。根据下面的文档应该工作,但它没有:

celery multi start celery1@turing.lan celery2@turing.lan -A tserver.app -Q:celery1@turing.lan celery,hq1 -c 8 -l info

... -Q:1 celery,hq1也不起作用。

1 个答案:

答案 0 :(得分:0)

您似乎从命令中遗漏了start。您可以使用以下命令启动两个消耗celery队列和第二个消耗high队列的队列。

$ celery multi start celery1@turing.lan celery2@turing.lan \
   -Q:1 celery -Q:2 celery,high -c 8 -l INFO -A tserver.app 

有关如何使用celery multi is documented here的更多示例。

看起来这是celery命令行选项解析器中的一个错误。但是,您现在可以使用此命令作为替代方法。

$ celery multi start celery1 celery2  \
  -Q:1 celery,hq1 -Q:2 celery,high,hq1 -c 8 -l INFO -n turing.lan

这是芹菜中的一个错误,我有submitted a patch for that