2

如何使用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 条消息。

4

2 回答 2

1

我已经通过添加来解决这个问题receiver.capacity = 250。但是,如果我在队列中有更多消息并调用receiver.available()我会收到 250。但现在这不是一个大问题。

于 2012-06-04T08:19:27.803 回答
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

这可能会对您有所帮助。

于 2015-12-29T07:16:09.507 回答