Python und RabbitMQ - Beste Weg, um hören zu konsumieren Ereignisse, die von mehreren Kanälen?

Habe ich zwei, separate RabbitMQ-Instanzen. Ich bin versuchen zu finden der beste Weg, um zu hören, um Ereignisse aus beiden.

Ich kann zum Beispiel verbrauchen Ereignisse zu eins mit dem folgenden:

credentials = pika.PlainCredentials(user, pass)
connection = pika.BlockingConnection(pika.ConnectionParameters(host="host1", credentials=credentials))
channel = connection.channel()
result = channel.queue_declare(Exclusive=True)
self.channel.queue_bind(exchange="my-exchange", result.method.queue, routing_key='*.*.*.*.*')
channel.basic_consume(callback_func, result.method.queue, no_ack=True)
self.channel.start_consuming()

Habe ich einen zweiten host, "host2",, ich würde gerne hören, wie gut. Ich dachte über die Schaffung von zwei separate threads, um dies zu tun, aber von dem was ich gelesen habe, pika ist nicht thread-sicher. Gibt es einen besseren Weg? Oder würde die Schaffung von zwei separate threads, die jedes hören zu einem anderen Kaninchen Instanz (host1 und host2) ausreichend sein?

InformationsquelleAutor blindsnowmobile | 2015-02-16

Schreibe einen Kommentar