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

标签 python rabbitmq pika

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

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 日志没有显示任何错误,消费者应用程序也没有崩溃。

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

最佳答案

关于python - 如何使用鼠兔从一个消费者的 2 个 RabbitMQ 队列中异步消费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32104906/

相关文章:

python - 将 JSON 响应数据插入 SQLite3 数据库

python - 在 Windows 上安装 python mathutils 时出现问题

python - 在python/pika中接收多个amqp队列

python运行2个进程

python - 当调用 train() 或 eval() 时,我可以让我的自定义 pytorch 模块表现不同吗?

RabbitMQ跟踪消息处理

rabbitmq - 即使其状态为运行,也无法访问在 docker 中配置的 rabbitmq 管理

bash - 如何使用 docker-compose 环境变量来填充配置文件

java - 我的 RabbitMQ 订阅代码不起作用