gpt4 book ai didi

python - pika, rabbitmq - 从队列中获取所有消息而不使用它们

转载 作者:行者123 更新时间:2023-12-05 06:28:12 28 4
gpt4 key购买 nike

使用 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 中被读取并标记为未确认,但仍将在队列中可用。

关于python - pika, rabbitmq - 从队列中获取所有消息而不使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54505150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com