利用python进行rabbitmq初体验

本文详细介绍了如何使用Python与RabbitMQ进行消息队列的配置与使用,包括生产者与消费者的实现过程,以及队列声明、消息发布与订阅等关键步骤。

生产者:

import pika
creat = pika.PlainCredentials('**','**') #连接rabbitmq
conn = pika.BlockingConnection(pika.ConnectionParameters('10.0.2.111',5672,'/',creat)) #连接rabbitmq
channel = conn.channel() #建立通道
channel.queue_declare('task_a')#建立队列
channel.exchange_declare(exchange='task_b',exchange_type='fanout') #fanout广播
i = 'woshi'
channel.basic_publish(exchange='task_b',routing_key='task_a',body=i)
conn.close()

消费者

import pika
create = pika.PlainCredentials('**','**') #连接rabbitmq
conn = pika.BlockingConnection(pika.ConnectionParameters('10.0.2.111',5672,'/',create))#连接rabbitmq
channel = conn.channel()#建立通道
# channel.queue_declare('task_a')#建立队列 #drue = True 持久化
channel.exchange_declare(exchange='task_b',exchange_type='fanout')
result = channel.queue_declare(exclusive=True) #不给队列起名字,在消费者断开后,删除队列
queue_name = result.method.queue
channel.queue_bind(exchange='task_b',queue=queue_name)
def callback(ch,method,propertities,body):
    print(body)
    ch.basic_ack(delivery_tag=method.delivery_tag)
    # 给队列发一个确认执行完的信息,否则消息会保存起来,不会被消费掉,会转给下个消费者

# channel.basic_qos(prefetch_count=1) #根据cpu处理速度调整发消息的速度
# channel.basic_consume(callback,queue='task_a',no_ack=False) # no_ack=True   #取消发送消息中断处理功能,不管有没有处理完,都不会给服务器端发确认
channel.basic_consume(callback,queue=queue_name,no_ack=False)
channel.start_consuming()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值