![](/img/trans.png)
[英]How to Get all the pending tasks and purge queue in Pika RabbitMQ
[英]pika, rabbitmq - get all messages from the queue without consuming them
使用pika
客户端,我想显示当前队列中的所有消息,而不使用它们。 只是想知道队列有多忙并显示作业。
到目前为止,我只能在一条消息到达时阅读它:
channel.queue_declare(queue='queue1', durable=True)
channel.basic_consume(on_message, queue='queue1')
channel.start_consuming()
def on_message(channel, method, properties, message):
channel.basic_ack(delivery_tag=method.delivery_tag)
print("Message: %s", message)
我如何阅读整个队列?
要“不消费”地阅读消息,请不要确认消息的传递。 在上述情况下,摆脱
channel.basic_ack(delivery_tag=method.delivery_tag)
或将auto_ack
设置为False
:
def callback(ch, method, properties, body):
print(body)
channel.basic_consume(queue='your_queue', on_message_callback=callback, auto_ack=False)
消息将在 rabbitMQ 中被读取并标记为未确认,但仍可在队列中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.