如何使用 python 上的 qpid库接收存储在队列中的大量邮件?
我试过这样的话:
from qpid.messaging import *
broker_rcv = connect_address
address_rcv = queue_name + "; { node: { type: queue }, assert: never , create: never, mode: " + "browse" + " }"
connection_rcv = Connection(broker_rcv)
connection_rcv.open()
session_rcv = connection_rcv.session()
receiver = session_rcv.receiver(address_rcv)
print receiver.available()
它始终会返回0条消息。
答案 0 :(得分:1)
我通过添加receiver.capacity = 250
解决了这个问题。但如果队列中有更多消息并且呼叫receiver.available()
我收到250.但现在这不是一个大问题。
答案 1 :(得分:0)
我一直面临同样的问题。但我的最后一个目标是停止并恢复队列中的消息。我发现了这个:
qpidd --default-flow-stop-threshold=90 --default-flow-resume-threshold=75
或点击此链接:https://qpid.apache.org/releases/qpid-cpp-0.34/cpp-broker/book/producer-flow-control.html
这可能会对你有帮助。