RabbitMQ Hello world

RabbitMQ使用AMQP通信协议(AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。)。
安装

具体教程参考:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

安装python的开发库

1
sudo pip install pika==0.9.8

安装rabbitmq服务

1
sudo apt-get install rabbitmq-server

启动rabbit服务

1
2
rabbitmq-server start
Hello World

发送

  • 通过使用pika第三方库来连接,本例中为localhost本地连接
  • 通过queue_declare来创建一个消息队列
  • 发送消息basic_publish
  • 关闭链接close

具体如下,

1
2
3
4
5
6
7
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='hello world!')
connection.close()

接收

  • 通过使用pika第三方库来连接,本例中为localhost本地连接。
  • 通过queue_declare来创建一个消息队列(推荐,由于接收之前消息队列有可能并没有创建过)
  • 指定消息队列和回调函数basic_consume
  • 开始接受消息start_consuming

具体如下,

1
2
3
4
5
6
7
8
import pika

def callback(ch, method, properties, body):
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_consume(callback, queue='hello', no_ack=True)
channel.start_consuming()