最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python rabbitMQ如何實(shí)現(xiàn)生產(chǎn)消費(fèi)者模式

 更新時(shí)間:2020年08月24日 09:17:05   作者:邯鄲-小刀  
這篇文章主要介紹了Python rabbitMQ如何實(shí)現(xiàn)生產(chǎn)消費(fèi)者模式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

(二)生產(chǎn)者

sendmq.py

import pika
import sys
import time
 
# 遠(yuǎn)程rabbitmq服務(wù)的配置信息
username = 'admin' # 指定遠(yuǎn)程rabbitmq的用戶名密碼
pwd = 'admin'
ip_addr = '10.1.7.7'
port_num = 5672
 
# 消息隊(duì)列服務(wù)的連接和隊(duì)列的創(chuàng)建
credentials = pika.PlainCredentials(username, pwd)
connection = pika.BlockingConnection(pika.ConnectionParameters(ip_addr, port_num, '/', credentials))
channel = connection.channel()
# 創(chuàng)建一個(gè)名為balance的隊(duì)列,對(duì)queue進(jìn)行durable持久化設(shè)為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', # 寫明將消息發(fā)送給隊(duì)列balance
    body=message_str, # 要發(fā)送的消息
    properties=pika.BasicProperties(delivery_mode=2, ) # 設(shè)置消息持久化(持久化第二步),將要發(fā)送的消息的屬性標(biāo)記為2,表示該消息要持久化
  ) # 向消息隊(duì)列發(fā)送一條消息
  print(" [%s] Sent 'Hello World!'" % i)
  # time.sleep(0.2)
connection.close() # 關(guān)閉消息隊(duì)列服務(wù)的連接

運(yùn)行sendmq.py文件,可以從以下方法查看隊(duì)列中的消息數(shù)量。

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

二是,從服務(wù)器端命令查看

rabbitmqctl list_queues

(三)消費(fèi)者

receivemq.py

import pika
import sys
import time
 
# 遠(yuǎn)程rabbitmq服務(wù)的配置信息
username = 'admin' # 指定遠(yuǎn)程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()
 
# 消費(fèi)成功的回調(diào)函數(shù)
def callback(ch, method, properties, body):
  print(" [%s] Received %r" % (time.time(), body))
  # time.sleep(0.2)
 
 
# 開始依次消費(fèi)balance隊(duì)列中的消息
channel.basic_consume(queue='balance', on_message_callback=callback, auto_ack=True)
 
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming() # 啟動(dòng)消費(fèi)

運(yùn)行receivemq.py文件,可以從以下方法查看隊(duì)列中的消息數(shù)量。

或者

rabbitmqctl list_queues

延伸:

systemctl status rabbitmq-server.service # 狀態(tài)
systemctl restart rabbitmq-server.service # 重啟

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

呼和浩特市| 札达县| 合川市| 浙江省| 兴仁县| 嫩江县| 旬邑县| 东辽县| 洪雅县| 邯郸县| 政和县| 自贡市| 宽城| 青冈县| 康保县| 柏乡县| 金秀| 涞源县| 龙陵县| 习水县| 顺昌县| 东乡族自治县| 沛县| 承德县| 金塔县| 万盛区| 友谊县| 柯坪县| 墨江| 梓潼县| 永康市| 富宁县| 新河县| 达日县| 九江县| 车致| 乐东| 鄂托克前旗| 阜宁县| 丹阳市| 调兵山市|