芹菜从队列中恢复食用



我有不同的芹菜队列,在某个时候我希望工人停止从我的队列中消费

celery_app.control.cancel_consumer(consumer_queue)

一段时间后,我希望能够恢复消费者,我使用下一个命令执行此操作

celery.control.add_consumer(
    consumer_queue,
    routing_key=consumer_queue,
    destination=['worker-name'],
)

在这一点上,我希望worker-name将从我的自定义路由器重定向consumer_queue中获取任务 routing_key.但相反,我有来自芹菜检查的输出

celery.control.inspect().active_queues()

{'celery@worker-name': []}

一些细节芹菜:celery==3.1.23海带:kombu==3.0.35台球:billiard==3.3.0.23

注意:通过芹菜花(flower==0.8.4(添加消费者即使命令相同也可以工作。

我做错了什么,如何以正确的方式重新启用消费?

好的,这是一个过早的问题,有一个简单的解决方案:我为工作人员提供了错误的名称,而不是设置worker-name我应该提供celery@worker-name标识符。出于调试目的,设置reply=True参数也很有用

response = celery.control.add_consumer(
    consumer_queue,
    routing_key=consumer_queue,
    destination=['celery@{}'.format(consumer)],
    reply=True,
)
print(response)

您将看到操作是否成功 [{u'celery@worker-name': {u'ok': u'add consumer consumer-queue'}}]

相关内容

  • 没有找到相关文章

最新更新