Primeros pasos con rabbitmq

Instalación de RabbitMQ en el servidor Ubuntu

Una nota rápida antes de instalar RabbitMQ: los paquetes Erlang de Ubuntu 14.04 tienen problemas si usa SSL con RabbitMQ, por lo que deberá instalar una versión más nueva que la que proporcionan los mantenedores de paquetes de Ubuntu, así que use los archivos binarios en https: //www.erlang-solutions.com/resources/download.html, para Erlang 17.0 o superior.

Agregue RabbitMQ a la lista de repositorios de paquetes:

echo 'deb http://www.rabbitmq.com/debian/ testing main' |
    sudo tee /etc/apt/sources.list.d/rabbitmq.list

Y luego agregue la clave de firma:

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
    sudo apt-key add -

Luego actualice e instale:

sudo apt-get update && sudo apt-get install rabbitmq-server

RabbitMQ ‘Hola Mundo’

Este código crea un productor que envía dos mensajes a una cola y un consumidor que recibe todos los mensajes de esa cola.

Código para productor.py (usando el cliente Pika 0.10.0 Python):

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(
        host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='queueName')

channel.basic_publish(exchange='',
                      routing_key='queueName',
                      body='Hello')
channel.basic_publish(exchange='',
                      routing_key='queueName',
                      body='World!')
print("Message sent")
connection.close()

Código para consumidor.py:

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(
        host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='queueName')

def callback(ch, method, properties, body):
    print("Received message: %r" % body)

channel.basic_consume(callback,
                      queue='queueName',
                      no_ack=True)

print('Waiting for messages...')
channel.start_consuming()

La salida es:

$ python receive.py
Waiting for messages...
Received message: 'Hello'
Received message: 'World!'

Hay otros ejemplos disponibles en el tutorial de RabbitMQ página para otros idiomas.