Connessione a RabbitMQ con Python e Pika
Pika è una libreria per Python che implementa il protocollo AMPQ.
In questo articolo vediamo come usarla per connetterci a RabbitMQ.
Iniziamo con l'installazione tramite pip:
pip install pika
Qui sotto un esempio in cui inviamo 100 messaggi, e poi li leggiamo tutti:
import pika
RABBITMQ_HOST = "localhost"
QUEUE_NAME = "test-python"
def send_messages():
connection = pika.BlockingConnection(pika.ConnectionParameters(host=RABBITMQ_HOST))
channel = connection.channel()
channel.queue_declare(queue=QUEUE_NAME)
for i in range(1, 101):
message = f"Messaggio numero {i}"
channel.basic_publish(exchange='',
routing_key=QUEUE_NAME,
body=message.encode('utf-8'))
connection.close()
def consume_messages():
connection = pika.BlockingConnection(pika.ConnectionParameters(host=RABBITMQ_HOST))
channel = connection.channel()
channel.queue_declare(queue=QUEUE_NAME)
print(" [*] Inizio lettura messaggi dalla coda...")
while True:
method_frame, header_frame, body = channel.basic_get(queue=QUEUE_NAME, auto_ack=True)
if method_frame is None:
print(" [*] Nessun altro messaggio nella coda.")
break
print(f"[x] Ricevuto: {body.decode('utf-8')}")
connection.close()
if __name__ == "__main__":
send_messages()
consume_messages()
Enjoy!
python pip pika rabbitmq ampq
Commentami!