我試圖將我的代碼轉換爲通過皮卡發送rabbitmq消息。我很難理解如何使用異步連接發送簡單消息(如SelectConnection)。如何在python中做一個簡單的Pika SelectConnection發送消息?
在我的舊代碼,這是我使用AMQP庫我簡單地聲明這樣的類:
import amqp as amqp
class MQ():
mqConn = None
channel = None
def __init__(self):
self.connect()
def connect(self):
if self.mqConn is None:
self.mqConn = amqp.Connection(host="localhost", userid="dev", password="dev", virtual_host="/", insist=False)
self.channel = self.mqConn.channel()
elif not self.mqConn.connected:
self.mqConn = amqp.Connection(host="localhost", userid="dev", password="dev", virtual_host="/", insist=False)
self.channel = self.mqConn.channel()
def sendMQ(self, message):
self.connect()
lMessage = amqp.Message(message)
self.channel.basic_publish(lMessage, exchange="DevMatrixE", routing_key="dev_matrix_q")
然後在我的代碼的其他地方我叫sendMQ(「這是我的信息」),然後代碼繼續。我不需要聽取確認等。
有人可以寫一個簡單的類,利用pika和SelectConnection,也可以使用sendMQ發送消息(「這是我的消息」)嗎?我已經看過pika的例子,但我不知道如何繞過ioloop和KeyboardInterrupt。我想我只是不知道如何讓我的代碼繼續運行沒有所有這些嘗試/ excepts ...此外,不完全確定如何通過所有回調傳遞我的消息...
任何幫助感謝!
謝謝。
之大,你試圖幫忙,但他詢問了SelectConnection適配器。你提到的例子是使用BlockingConnection。 – eandersson
具有SelectConnection的示例代碼將更具說明性。 – mprat