Skip to main content
 首页 » 编程设计

python之如何使用鼠兔从一个消费者的 2 个 RabbitMQ 队列中异步消费

2025年05月04日22开发

我正在编写一个需要从两个不同队列中消费的消费者。

1-> 用于实际消息(之前声明的队列)。

2->用于控制消费者行为的命令消息(由消费者动态声明并绑定(bind)到具有特定格式的路由 key 的现有交换(每个消费者运行实例都需要一个)

我正在使用选择连接来异步使用。

    self.channel.basic_qos(prefetch_count = self.prefetch_count) 
    log.info("Establishing channel with the Queue: "+self.commandQueue) 
    print "declaring command queue" 
    self.channel.queue_declare(queue=self.commandQueue, 
                                durable = True, 
                                exclusive=False, 
                                auto_delete=True, 
                                callback = self.on_command_queue_declared) 

未声明队列或未调用回调。

另一方面,自从我添加了这段代码后,来自实际消息队列的消息没有被使用。

Pika 日志没有显示任何错误,消费者应用程序也没有崩溃。

有谁知道为什么会这样,或者有更好的方法吗?

请您参考如下方法: