Celery - 单个AMQP队列绑定到多个交换

时间:2016-09-13 10:08:53

标签: python django rabbitmq celery

我有一个RabbitMQ拓扑(独立于celery设置),其队列绑定到具有相同路由键的两个交换。现在,我想设置一个芹菜实例发布到交换机,另一个实例从队列中消费。

我在生产者和消费者的背景下都有以下问题:

  1. 如果我在启动消费者时只指定CELERY_QUEUES中的交换名称和路由密钥以及队列名称,那么首先需要apply_async设置吗?根据我对AMQP的理解,这应该足够......

  2. 如果有必要,我只能在那里为每个队列设置一次交换。这是否意味着另一个绑定不起作用(生产者不能发布到另一个交换,消费者无法接收通过另一个交换路由的消息)?或者,我是否可以发布和接收来自其他交易所的消息,无论CELERY_QUEUES中的绑定是什么?

1 个答案:

答案 0 :(得分:0)

CELERY_QUEUES仅用于"内部"芹菜与它的工人沟通,而不是与兔子的自定义队列,而不是芹菜。

你想用同一个队列进行两次交换,你想要完成什么?