获取RabbitMQ队列中的消息数

我们正在使用amqplib来发布/使用消息。我希望能够读取队列中的消息数(理想情况下是已确认和未确认)。这将使我能够向管理员用户显示良好的状态图,并检测某个组件是否无法满足负载需求。

我在amqplib文档中找不到有关读取队列状态的任何信息。

有人可以指出我正确的方向吗?

回答:

import pika

pika_conn_params = pika.ConnectionParameters(

host='localhost', port=5672,

credentials=pika.credentials.PlainCredentials('guest', 'guest'),

)

connection = pika.BlockingConnection(pika_conn_params)

channel = connection.channel()

queue = channel.queue_declare(

queue="your_queue", durable=True,

exclusive=False, auto_delete=False

)

print(queue.method.message_count)

from pyrabbit.api import Client

cl = Client('localhost:55672', 'guest', 'guest')

cl.get_messages('example_vhost', 'example_queue')[0]['message_count']

句法:

curl -i -u user:password http://localhost:15672/api/queues/vhost/queue

例:

curl -i -u guest:guest http://localhost:15672/api/queues/%2f/celery

注意:默认虚拟主机是/需要转义为%2f

$ sudo rabbitmqctl list_queues | grep 'my_queue'

以上是 获取RabbitMQ队列中的消息数 的全部内容, 来源链接: utcz.com/qa/404238.html

回到顶部