Я пытаюсь переместить систему с использованием morbid на rabbitmq, но я не могу получить то же самое поведение в области передачи, которое было предоставлено по умолчанию. По трансляции я имею в виду, что когда сообщение добавляется в очередь, каждый потребитель получает его. С кроликом, когда сообщение добавлено, они распределяются по кругу в стиле каждого слушателя.Stomp Broadcast с 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 выполнит эту работу для меня. –