激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python rabbitMQ如何實現生產消費者模式

Python rabbitMQ如何實現生產消費者模式

2020-08-25 00:02邯鄲-小刀 Python

這篇文章主要介紹了Python rabbitMQ如何實現生產消費者模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

(一)安裝一個消息中間件,如:rabbitMQ

(二)生產者

sendmq.py

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import pika
import sys
import time
 
# 遠程rabbitmq服務的配置信息
username = 'admin' # 指定遠程rabbitmq的用戶名密碼
pwd = 'admin'
ip_addr = '10.1.7.7'
port_num = 5672
 
# 消息隊列服務的連接和隊列的創建
credentials = pika.PlainCredentials(username, pwd)
connection = pika.BlockingConnection(pika.ConnectionParameters(ip_addr, port_num, '/', credentials))
channel = connection.channel()
# 創建一個名為balance的隊列,對queue進行durable持久化設為True(持久化第一步)
channel.queue_declare(queue='balance', durable=True)
 
message_str = 'Hello World!'
for i in range(100000000):
  # n RabbitMQ a message can never be sent directly to the queue, it always needs to go through an exchange.
  channel.basic_publish(
    exchange='',
    routing_key='balance', # 寫明將消息發送給隊列balance
    body=message_str, # 要發送的消息
    properties=pika.BasicProperties(delivery_mode=2, ) # 設置消息持久化(持久化第二步),將要發送的消息的屬性標記為2,表示該消息要持久化
  ) # 向消息隊列發送一條消息
  print(" [%s] Sent 'Hello World!'" % i)
  # time.sleep(0.2)
connection.close() # 關閉消息隊列服務的連接

運行sendmq.py文件,可以從以下方法查看隊列中的消息數量。

一是,rabbitmq的管理界面,如下圖所示:

Python rabbitMQ如何實現生產消費者模式

二是,從服務器端命令查看

rabbitmqctl list_queues

Python rabbitMQ如何實現生產消費者模式

(三)消費者

receivemq.py

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pika
import sys
import time
 
# 遠程rabbitmq服務的配置信息
username = 'admin' # 指定遠程rabbitmq的用戶名密碼
pwd = 'admin'
ip_addr = '10.1.7.7'
port_num = 5672
 
credentials = pika.PlainCredentials(username, pwd)
connection = pika.BlockingConnection(pika.ConnectionParameters(ip_addr, port_num, '/', credentials))
channel = connection.channel()
 
# 消費成功的回調函數
def callback(ch, method, properties, body):
  print(" [%s] Received %r" % (time.time(), body))
  # time.sleep(0.2)
 
 
# 開始依次消費balance隊列中的消息
channel.basic_consume(queue='balance', on_message_callback=callback, auto_ack=True)
 
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming() # 啟動消費

運行receivemq.py文件,可以從以下方法查看隊列中的消息數量。

Python rabbitMQ如何實現生產消費者模式

或者

rabbitmqctl list_queues

延伸:

systemctl status rabbitmq-server.service # 狀態
systemctl restart rabbitmq-server.service # 重啟

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/xzlive/p/13491476.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品午夜在线 | 国产99页 | 国产中文av在线 | 国产精品免费麻豆入口 | 在线无码 | 国产女厕一区二区三区在线视 | 午夜视频导航 | 一区二区三区手机在线观看 | 91精品国产91久久久 | av成人免费在线观看 | 精品成人av一区二区在线播放 | 国产一区二区三区欧美 | 国产精品视频自拍 | 56av国产精品久久久久久久 | 精品国产乱码久久久久久预案 | 干色视频| 国内精品久久久久久久影视红豆 | 国产精品久久久久久久娇妻 | 日韩 欧美 中文 | 欧美成视频在线观看 | 搜一级毛片 | 91精品国产九九九久久久亚洲 | 麻豆视频在线免费观看 | 午夜视频在线免费观看 | 国产精品高潮99久久久久久久 | 亚洲免费片 | 超碰在线97国产 | 毛片118极品美女写真 | 热99在线视频| 国产一区日韩一区 | 1314av| 久久久久久久久日本理论电影 | 在线亚洲免费 | 精品国产乱码久久久久久久久 | 电影一级毛片 | 欧美人与牲禽动交精品一区 | 欧美一级免费视频 | 韩日黄色片 | 有色视频在线观看 | 国产精品美女久久久免费 | 91av在线免费视频 |