2012-04-18 5 views
2

Как получить количество сообщений, хранящихся в очереди, используя qpid library на python?получить количество сообщений от qpid на python

Я попытался, как это:

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 сообщений.

ответ

1

Я решил это, добавив receiver.capacity = 250. Но если у меня больше сообщений в очереди и звоните receiver.available(), я получаю 250. Но сейчас это не большая проблема.

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

Это может помочь вам.

 Смежные вопросы

  • Нет связанных вопросов^_^