我試圖將系統從使用病態移動到rabbitmq,但似乎無法獲得默認情況下提供的相同廣播行爲morbid。通過廣播我的意思是,當消息被添加到隊列中時,每個消費者都會收到它。使用兔子時,當添加消息時,它們以循環方式分配給每個聽衆。用Rabbitmq和Python重播廣播
誰能告訴我如何實現同樣的消息分佈?
下面使用的蹬地庫是http://code.google.com/p/stomppy/
如果不能夠做到與跺腳,甚至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()
謝謝,我已經看過線程,並試圖用amqplib實現它的建議沒有成功。觸及它的具體信息是http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2008-September/001786.html。我已經更新了這個問題,以反映一個amqplib樣本會爲我完成這項工作。 – 2009-06-11 15:44:28