Python 通过pika连接RabbitMQ发送接收消息
Python 通过 pika连接 RabbitMQ发送接收消息
生产者
脚本名称: producer.py
#!/usr/bin/env python |
消费者
脚本名称:consumer.py
#!/usr/bin/env python
#encoding:utf8
#author: zeping lai
# 消费者
import pika
mq_name = 'guest' #RabbitMQ的用户名
mq_pwd = 'abc123456' #RabbitMQ的密码
mq_host = 'rbmq.n2.linuxhub.cn' #RabbitMQ服务地址
mq_port = 5672 #RabbitMQ服务端口
mq_queue = 'linuxhub' #队列
#身份验证凭证
credentials = pika.PlainCredentials(mq_name, mq_pwd)
#创建连接
s_conn = pika.BlockingConnection(pika.ConnectionParameters(host=mq_host,port=mq_port,credentials=credentials))
#在连接上创建一个频道
chan = s_conn.channel()
#声明一个队列(生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正常运行)
chan.queue_declare(queue=mq_queue)
#定义一个回调函数,用来接收生产者发送的消息
def callback(ch,method,properties,body):
print("[消费者] recv %s" % body)
chan.basic_consume(callback, #调用回调函数,从队列里取消息
queue=mq_queue,#指定取消息的队列名
no_ack=True) #取完一条消息后,不给生产者发送确认消息,默认是False的,即默认给rabbitmq发送一个收到消息的确认,一般默认即可
print('[消费者] waiting for msg .')
#开始循环取消息
chan.start_consuming()
本文作者 : 泽泽
原文链接 : http://www.linuxhub.cn/2018/08/15/rabbitmq-python.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得