【发布时间】:2009-06-11 14:03:17
【问题描述】:
我试图将系统从使用 morbid 转移到 rabbitmq,但我似乎无法获得默认提供的相同广播行为 morbid。通过广播,我的意思是当一条消息被添加到队列中时,每个消费者都会收到它。对于 rabbit,当添加消息时,它们会以循环方式分发给每个听众。
谁能告诉我如何实现同样的消息分发?
下面使用的stomp库是http://code.google.com/p/stomppy/
无法使用 stomp,即使是 amqplib 示例也会有帮助。
我目前的代码是这样的
消费者
import stomp
class MyListener(object):
def on_error(self, headers, message):
print 'recieved an error %s' % message
def on_message(self, headers, message):
print 'recieved a message %s' % message
conn = stomp.Connection([('0.0.0.0', 61613), ('127.0.0.1', 61613)], 'user', 'password')
conn.set_listener('', MyListener())
conn.start()
conn.connect(username="user", password="password")
headers = {}
conn.subscribe(destination='/topic/demoqueue', ack='auto')
while True:
pass
conn.disconnect()
发件人是这样的
import stomp
class MyListener(object):
def on_error(self, headers, message):
print 'recieved an error %s' % message
def on_message(self, headers, message):
print 'recieved a message %s' % message
conn = stomp.Connection([('0.0.0.0', 61613), ('127.0.0.1', 61613)], 'user', 'password')
conn.set_listener('', MyListener())
conn.start()
conn.connect(username="user", password="password")
headers = {}
conn.subscribe(destination='/topic/demotopic', ack='auto')
while True:
pass
conn.disconnect()
【问题讨论】:
标签: python broadcast rabbitmq stomp