gpt4 book ai didi

python - 如何删除或推迟 AMQP 队列中的消息

转载 作者:行者123 更新时间:2023-11-28 18:51:38 25 4
gpt4 key购买 nike

我正在使用 txamqp python 库连接到 AMQP 代理 (RabbitMQ),并且我有一个具有以下回调的消费者:

@defer.inlineCallbacks
def message_callback(self, message, queue, chan):
"""This callback is a queue listener
it is called whenever a message was consumed from queue
c.f. test_amqp.ConsumeTestCase for use cases
"""

# The callback should be redefined here to keep getting further messages from queue
queue.get().addCallback(self.message_callback, queue, chan).addErrback(self.message_errback)

print " [x] Received a valid message: [%r]" % (message.content.body,)

yield self.smpp.sendDataRequest(SubmitSmPDU)

# ACK the message in queue, this will remove it from the queue
chan.basic_ack(message.delivery_tag)

当“确认”一条消息时,它将从队列中删除(以确认?),但是当消息未被“确认”时会发生什么?我需要一个“重试”机制,我可以推迟消息稍后再次回调,并跟踪重试次数。

我如何从队列中列出/删除消息?

最佳答案

RabbitMQ 有一个很好的 management plugin ,但是这甚至不允许从队列中删除消息。

您基本上必须编写自己的应用程序,或者弄清楚 these 3rd party management applications 中的哪一个可以删除消息。

关于python - 如何删除或推迟 AMQP 队列中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12180461/

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