介绍
在Python中利用rabbitMQ实现生产与消费者模式的方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
(一)安装一个消息中间件,如:rabbitMQ
(二)生产者
sendmq。py
导入鼠兔 导入系统 导入的时间 #远程rabbitmq服务的配置信息 用户名=& # 39;行政与# 39;#指定远程rabbitmq的用户名密码 pwd=& # 39;行政与# 39; ip_addr=& # 39; 10.1.7.7& # 39; port_num=5672 #消息队列服务的连接和队列的创建 凭证=鼠兔。PlainCredentials(用户名、pwd) 连接=pika.BlockingConnection(鼠兔。ConnectionParameters (ip_addr、port_num & # 39;/& # 39;,凭据)) 频道=connection.channel () #创建一个名为平衡的队列,对队列进行持久持久化设为True(持久化第一步) channel.queue_declare(队列=& # 39;平衡# 39;,持久=True) message_str=& # 39; Hello World ! & # 39; 因为我在范围(100000000): # n RabbitMQ消息不能直接发送到队列,它总是需要经历一个交换。 channel.basic_publish (=& # 39;交换& # 39; routing_key=& # 39;平衡# 39;#写明将消息发送给队列平衡 身体=message_str #要发送的消息 属性=鼠兔。BasicProperties (delivery_mode=2) #设置消息持久化(持久化第二步),将要发送的消息的属性标记为2,表示该消息要持久化 )#向消息队列发送一条消息 打印(“;(% s)发送& # 39;Hello World ! & # 39;“%我) # time . sleep (0.2) connection.close() #关闭消息队列服务的连接
运行sendmq。py文件,可以从以下方法查看队列中的消息数量。
一是,rabbitmq的管理界面,如下图所示:
二是,从服务器端命令查看
rabbitmqctl list_queues
(三)消费者
receivemq。py
导入鼠兔 导入系统 导入的时间 #远程rabbitmq服务的配置信息 用户名=& # 39;行政与# 39;#指定远程rabbitmq的用户名密码 pwd=& # 39;行政与# 39; ip_addr=& # 39; 10.1.7.7& # 39; port_num=5672 凭证=鼠兔。PlainCredentials(用户名、pwd) 连接=pika.BlockingConnection(鼠兔。ConnectionParameters (ip_addr、port_num & # 39;/& # 39;,凭据)) 频道=connection.channel () #消费成功的回调函数 def回调(ch、方法、属性、身体): 打印(“;(% s)收到% r"% (time.time()、身体) # time . sleep (0.2) #开始依次消费平衡队列中的消息 channel.basic_consume(队列=& # 39;平衡# 39;,alt="在Python中利用rabbitMQ实现生产与消费者模式的方法">或者
<代码> rabbitmqctl list_queues 代码>
延伸:
systemctl rabbitMQ服务器状态。服务#状态
引用>
systemctl rabbitmq服务器重新启动。服务#重启看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
在Python中利用rabbitMQ实现生产与消费者模式的方法