在Python中利用rabbitMQ实现生产与消费者模式的方法

  介绍

在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的管理界面,如下图所示:

在Python中利用rabbitmq实现生产与消费者模式的方法

二是,从服务器端命令查看

rabbitmqctl list_queues

在Python中利用rabbitmq实现生产与消费者模式的方法

(三)消费者

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实现生产与消费者模式的方法