QPID Proton:浏览队列以获取消息创建时间

时间:2018-06-30 20:38:26

标签: python qpid

我正在尝试浏览AMQP队列以检索其最早的消息。

这基本上是用于“监视”功能以在队列中的消息太旧时触发事件。 Afaik,第一个消息是最早的消息,所以我这样写:

from __future__ import print_function
from proton.reactor import Container, Copy
from proton.handlers import MessagingHandler

class Recv(MessagingHandler):
    def __init__(self):
        super(Recv, self).__init__()
        self.received=0

    def on_start(self, event):
        conn = event.container.connect("localhost:5672")
        event.container.create_receiver(conn, "examples", options=Copy())

    def on_message(self, event):
        print(event.message.creation_time)


        self.received += 1
        if self.received >= 1:
            event.receiver.close()
            event.connection.close()

try:
    Container(Recv()).run()
except KeyboardInterrupt: pass

它创建了一个接收器,该接收器在处理完第一条消息后退出,这确实是最早的一条消息。

问题是,如果队列为空,则(正确)停留在等待消息上。 我尝试查看QPID Proton广告文档,但无法理解如何重写代码。

0 个答案:

没有答案