RabbitMQ python模块pika生产者消费者轮询模型。

完整代码如下:

生产者,producer

 1
 2 
 3 import pika
 4 connection = pika.BlockingConnection(
 5     pika.ConnectionParameters('localhost'))#建立一个最基本的socket
 6 chanel = connection.channel()#声明一个管道
 7 
 8 chanel.queue_declare(queue='name')#给管道创建一个队列,参数是管道队列名。
 9 
10 chanel.basic_publish(exchange='',
11                      routing_key='name',
12                      body ='HELLO WORD!')#要发送的消息。
13 print( '发出一个消息')
14 connection.close()#关闭


 消费者:

 1 import pika,time
 2 
 3 consumer = pika.BlockingConnection\
 4     (pika.ConnectionParameters('localhost'))#创建socket连接
 5 channel = consumer.channel()#创建管道
 6 channel.queue_declare(queue='name')
 7 
 8 def backcall(ch,method,properties,body):#参数body是发送过来的消息。
 9     print(ch,method,properties)
10     time.sleep(15)
11     print('[x] Received %r'%body)
12 
13 channel.basic_consume(backcall,#回调函数。执行结束后立即执行另外一个函数返回给发送端是否执行完毕。
14                       queue='name',
15                       no_ack=True#不会告知服务端我是否收到消息。一般注释。
16                        )#如果注释掉,对方没有收到消息的话不会将消息丢失,始终在队列里等待下次发送。
17 
18 print('waiting for message To exit   press CTRL+C')
19 channel.start_consuming()#启动后进入死循环。一直等待消息。

 

转载于:https://www.cnblogs.com/hushuning/p/7941556.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值