使用 Pika 的 RabbitMQ 队列中的“messages_ready”

问题描述 投票:0回答:1

我需要获取已准备好的消息数量。队列具有三种类型的消息: 1. Total 2. Unack'd 3. Ready

Ready 是那些在队列中但尚未被消费的。

目前我使用请求

url = "http://<RABBITHOST>:15672/api/queues/%2f/{}".format(q)
res = requests.get(url, auth=("<user>","<password>")).json()
messages_in_queue = res.get("messages_ready")

这里的问题是我必须传入用户名和密码。使用 Pika 我相信你可以得到“全部”消息。有没有办法使用 Pika 获取其他两种类型(未确认和准备就绪)?

python-requests rabbitmq pika
1个回答
3
投票

不,AMQP 协议不支持获取未确认的消息。为此,您仍然需要使用 HTTP API。如果您进行被动队列声明,则返回的消息计数是就绪消息的数量。

© www.soinside.com 2019 - 2024. All rights reserved.