1、在本机上安装好rabbitmq
2、安装pika 操作rabbitmq的三方库
建议在虚拟环境中操作
pip install pika
3、入门实例
发布端代码,我这里命名为first_p.py
import pika
# 建立一个链接
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
# 开启链接
channel = connection.channel()
# 指明一个名为hello的队列
channel.queue_declare(queue='hello')
# 开始发布消息
channel.basic_publish(exchange='',
routing_key='hello',
body='Hello world!')
print(" [x] Sent 'Hello World!'")
# 关闭链接
connection.close()
# 注意:在shell中使用命令:sudo rabbitmqctl list_queues 可以查看所有的队列,以及队列内的消息数量
消费端代码,我这里命名为first_c.py
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
# 定义一个callback函数,当有消息时就会执行它
def callback(ch, method, properties, body):
print(" [x] Received %r" % body.decode())
# 接收消息,并进行执行
channel.basic_consume(callback,
queue='hello',
no_ack=True) # 这里的no_ack=True 表示关闭消息确认。默认是开启的
print(' [*] Waiting for messages. To exit press CTRL+C')
# 开始消费,表示开始接收消息
channel.start_consuming()
# 注意这里要一直接收的话不能关闭链接
4、如何运行
发布端:
python first_p.py hello world!
消费端:
python first_c.py
先运行消费端之后在运行发送端,注意终端输出