繁体   English   中英

pika总是显示RabbitMQ队列大小为0

[英]pika always shows a RabbitMQ queue size of 0

我正在尝试使用鼠标来获取RabbitMQ队列中的项目数。 我有以下运行:

params = pika.ConnectionParameters(host='my.host.com', port=5672, credentials=pika.credentials.PlainCredentials('myuser', 'myauth'))
connection = pika.BlockingConnection(parameters=params)
channel = connection.channel()
response = channel.queue_declare(passive=True, queue='my-queue-name')
count = response.method.message_count
channel.close()
print response

当我运行它时,无论队列中有多少项, count始终为0。 我可以看到rabbitmqctl项目,但我的脚本不会显示它们。 我在这做错了什么?

回答可能为时已晚,但我只是遇到了几乎相同的问题。 我需要在发布者的队列端进行一些限制,我决定定期检查队列大小以减慢处理速度。 但是当我提起消费者的队列结束时,pika的queue_declare(..., passive=True).method.message_count开始报告为零。 经过一段时间的测试和浏览代码/示例后,我发现设置channel.basic_qos(prefetch_count=1)可以解决问题。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM