¿Cómo hacer una simple Pika SelectConnection para enviar un mensaje, en python?

Estoy tratando de convertir mi código para enviar mensajes rabbitmq a través de Pika. Tengo muchos problemas para comprender cómo enviar un mensaje simple utilizando una conexión asincrónica (como SelectConnection).

En mi antiguo código, que utilizo la biblioteca amqp, simplemente declaro una clase como esta:

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") 

Y luego, en otra parte de mi código, llamo sendMQ ("este es mi mensaje"), y luego el código continúa. No necesito escuchar agradecimientos, etc.

¿Podría alguien escribir una clase simple utilizando pika y SelectConnection que también funcionaría para enviar un mensaje usando sendMQ ("este es mi mensaje")? He visto los ejemplos de pika, pero no sé cómo evitar el ioloop y KeyboardInterrupt. Supongo que no estoy seguro de cómo hacer que mi código continúe ejecutándose sin todos estos intentos / excepciones ... Además, no estoy exactamente seguro de cómo puedo pasar mi mensaje a través de todas las devoluciones de llamada ...

Cualquier ayuda es apreciada!

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta