0
如何從Python中的stomp隊列中讀取所有消息?如何使用Python中的stomp庫讀取隊列中的所有消息?
我寫了這樣的代碼,但它只讀取一條消息並存在 - 如何強制讀取所有消息。
# coding=utf-8 import stomp import logging from medptr.farm.farm import FarmSettings import platform import os if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) class ConnectionListener(stomp.ConnectionListener): def __init__(self, connection): self.connection = connection " Current connection. " def on_error(self, headers, body): logger = logging.getLogger(__name__) logger.error('Stomp connection error headers = %s and body = %s.' % (headers, body)) def on_message(self, headers, message): logger = logging.getLogger(__name__) logger.debug('Stomp new message headers = %s and body = %s.' % (headers, message)) farm = FarmSettings.get_by_hostname() conn = stomp.Connection12(host_and_ports=farm.active_mq_settings.hosts_and_ports) conn.set_listener('message', ConnectionListener(conn)) conn.set_listener('print', stomp.PrintingListener()) conn.set_listener('stats', stomp.StatsListener()) conn.start() conn.connect(username=farm.active_mq_settings.username, passcode=farm.active_mq_settings.passcode, wait=True) subscribe_id = '-'.join(map(str, (platform.node(), os.getppid(), os.getpid()))) # conn.set_listener('stats', stomp.StatsListener()) # conn.set_listener('print', stomp.PrintingListener()) conn.send('queue/test', 'hello') conn.subscribe(destination='queue/test', id=subscribe_id, ack='client-individual') conn.unsubscribe(id=subscribe_id) conn.disconnect() conn.stop()