如何使用 python 列出或发现 RabbitMQ 交换中的队列?

2022-01-11 00:00:00 python rabbitmq amqp

问题描述

我需要一个 python 客户端,它可以在重新启动的 RabbitMQ 服务器交换上发现队列,然后启动一个客户端来恢复消费来自每个队列的消息.如何从一些 RabbitMQ 兼容的 python api/库中发现队列?

I need to have a python client that can discover queues on a restarted RabbitMQ server exchange, and then start up a clients to resume consuming messages from each queue. How can I discover queues from some RabbitMQ compatible python api/library?


解决方案

据我所知,没有任何方法可以做到这一点.这与 Python 无关,但因为 AMQP 没有定义任何队列发现方法.

As far as I know, there isn't any way of doing this. That's nothing to do with Python, but because AMQP doesn't define any method of queue discovery.

在任何情况下,在 AMQP 中,声明队列的是客户端(消费者):发布者使用路由键将消息发布到交换,消费者确定这些路由键进入哪些队列.所以在没有消费者的情况下谈论队列是没有意义的.

In any case, in AMQP it's clients (consumers) that declare queues: publishers publish messages to an exchange with a routing key, and consumers determine which queues those routing keys go to. So it does not make sense to talk about queues in the absence of consumers.

相关文章