亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python RabbitMQ消息隊列實現rpc

2020-02-15 21:34:48
字體:
來源:轉載
供稿:網友

上個項目中用到了ActiveMQ,只是簡單應用,安裝完成后直接是用就可以了。由于新項目中一些硬件的限制,需要把消息隊列換成RabbitMQ。

RabbitMQ中的幾種模式和機制比ActiveMQ多多了,根據業務需要,使用RPC實現功能,其中踩過的一些坑,有必要記錄一下了。

上代碼,目錄結構分為 c_server、c_client、c_hanlder:

c_server:

#!/usr/bin/env python# -*- coding:utf-8 -*-import pikaimport timeimport jsonimport ioimport yamls_exchange = input("請輸入交換機名稱->>").decode('utf-8').strip()s_queue = input("輸入消息隊列名稱->>").decode('utf-8').strip()credentials = pika.PlainCredentials('system', 'manager')connection = pika.BlockingConnection(pika.ConnectionParameters(host='XXX.XXX.XXX.XXX',credentials=credentials))# 定義channel = connection.channel()channel.exchange_declare(exchange=s_exchange, exchange_type='direct')channel.queue_declare(queue=s_queue, exclusive=True)channel.queue_bind(queue=s_queue, exchange=s_exchange)def s_manage(content): # 解決unicode轉碼問題 json.JSONDecoder().decode(content) str_content = yaml.safe_load(json.loads(content,encoding='utf-8')) str_res = {  "errorid": 0,  "resp": str_content['cmd'],  "errorcont": "成功" } return json.dumps(str_res)def on_request(ch, method, props, body): response = s_manage(body) ch.basic_publish(exchange='',      routing_key=props.reply_to,      properties=pika.BasicProperties(correlation_id = /               props.correlation_id),      body=response) ch.basic_ack(delivery_tag = method.delivery_tag)channel.basic_qos(prefetch_count=1)channel.basic_consume(on_request, queue=s_queue)print(" [x] Awaiting RPC requests")channel.start_consuming()

c_client:

#!/usr/bin/env python# -*- coding:utf-8 -*-import pikaimport uuidimport jsonimport ioclass RpcClient(object):  def __init__(self):    self.credentials = pika.PlainCredentials('guest', 'guest')    self.connection = pika.BlockingConnection(pika.ConnectionParameters(host='XXX.XXX.XXX.XXX',                                credentials=self.credentials))    self.channel = self.connection.channel()  def on_response(self, ch, method, props, body):    if self.callback_id == props.correlation_id:      self.response = body    ch.basic_ack(delivery_tag=method.delivery_tag)  def get_response(self, callback_queue, callback_id):    '''取隊列里的值,獲取callback_queued的執行結果'''    self.callback_id = callback_id    self.response = None    self.channel.queue_declare('q_manager', durable=True)    self.channel.basic_consume(self.on_response, # 只要收到消息就執行on_response                  queue=callback_queue)    while self.response is None:      self.connection.process_data_events() # 非阻塞版的start_consuming    return self.response  def call(self, queue_name, command, exchange,rout_key): # 命令下發    '''隊列里發送數據'''    # result = self.channel.queue_declare(exclusive=False) #exclusive=False 必須這樣寫    self.callback_queue = 'q_manager' # result.method.queue    self.corr_id = str(uuid.uuid4())    self.channel.basic_publish(exchange=exchange,                  routing_key=queue_name,                  properties=pika.BasicProperties(                    reply_to=self.callback_queue, # 發送返回信息的隊列name                    correlation_id=self.corr_id, # 發送uuid 相當于驗證碼                  ),                  body=command)    return self.callback_queue,self.corr_idclient            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品日产aⅴ| 欧美日在线观看| 国产成人精品视| 一区二区成人精品| 亚洲国产成人精品久久久国产成人一区| 欧美性xxxx极品hd欧美风情| 欧美在线性视频| 国产视频综合在线| 91精品国产高清久久久久久91| 日韩网站免费观看高清| 奇米成人av国产一区二区三区| 91日本在线视频| 久久久中精品2020中文| 激情亚洲一区二区三区四区| 亚洲2020天天堂在线观看| 中文字幕亚洲字幕| 久久久久久一区二区三区| 国产精品永久免费在线| 欧美日韩成人网| 久久久之久亚州精品露出| 亚洲免费中文字幕| 精品久久久久久中文字幕一区奶水| 91禁国产网站| 日韩一区二区在线视频| 91久久精品久久国产性色也91| 性色av一区二区三区在线观看| 欧美大荫蒂xxx| 国产视频欧美视频| 91精品久久久久久久久青青| 狠狠躁夜夜躁人人爽超碰91| 亚洲乱亚洲乱妇无码| 日韩在线免费高清视频| 国产精品电影在线观看| 色综合久久中文字幕综合网小说| 91国产中文字幕| 国产98色在线| 奇米影视亚洲狠狠色| 亚洲天堂av在线免费观看| 国产美女精品免费电影| 日韩精品中文字幕在线观看| 欧美精品videossex性护士| 九色精品美女在线| 91中文字幕在线观看| 久操成人在线视频| 久久天天躁狠狠躁老女人| 成人h视频在线观看播放| 精品激情国产视频| 欧美另类暴力丝袜| 69av在线播放| 国产精自产拍久久久久久蜜| 亚洲成人在线网| 色综合久久悠悠| 国产精品黄视频| 亚洲欧洲一区二区三区久久| 国产香蕉97碰碰久久人人| 日韩高清电影免费观看完整| 92看片淫黄大片看国产片| 成人在线视频网站| 91精品久久久久久久久青青| 亚洲欧美在线x视频| 亚洲国产精品电影在线观看| 国产精品美女免费| 欧美视频国产精品| 久久精品成人欧美大片| 日韩av电影国产| 91精品国产91久久久久久| 久久精品亚洲一区| 性欧美暴力猛交69hd| 最近的2019中文字幕免费一页| 亚洲国产成人久久综合| 欧美成人三级视频网站| 91久久夜色精品国产网站| 97人人模人人爽人人喊中文字| 97色伦亚洲国产| 亚洲精品国产精品久久清纯直播| 国产日韩欧美日韩| 欧美国产日韩xxxxx| 久久国产精品99国产精| 色综合视频一区中文字幕| 国产一区二区三区在线| 日韩在线中文字幕| 欧美一区二粉嫩精品国产一线天| 黑人巨大精品欧美一区二区一视频| 欧美精品www| 91在线视频精品| 国产欧美精品一区二区三区介绍| 国产精品r级在线| 国产精彩精品视频| 欧美激情按摩在线| 91精品久久久久久久久久入口| 欧美性xxxx18| 久久精品视频网站| 亚洲免费av片| 国产精品免费久久久久久| 亚洲天堂男人的天堂| 成人高清视频观看www| 亚洲成年人在线播放| 中文字幕欧美日韩va免费视频| 精品精品国产国产自在线| 日韩美女毛茸茸| 91久久精品久久国产性色也91| 亚洲第一区中文99精品| 中文字幕综合一区| 欧美成人精品影院| 久久理论片午夜琪琪电影网| 久久视频在线看| 国内成人精品视频| 91精品国产沙发| 成人www视频在线观看| 日韩中文字幕精品视频| 国产精品极品尤物在线观看| 91高清视频在线免费观看| 精品久久久在线观看| 91麻豆国产语对白在线观看| 国产+人+亚洲| 国产精品自拍偷拍视频| 久久成人在线视频| 国产精品老牛影院在线观看| 国产精品电影在线观看| 亚洲摸下面视频| 日韩av电影院| 久久久久久久影院| 亚洲国产精品系列| 亚洲无亚洲人成网站77777| 久久久影视精品| 成人www视频在线观看| 九九久久国产精品| 国产精品爽爽ⅴa在线观看| 亚洲免费一级电影| 日韩精品久久久久久福利| 久久精品免费播放| 色av中文字幕一区| 国产精品91久久久久久| 疯狂做受xxxx高潮欧美日本| 欧美一区二区色| 精品露脸国产偷人在视频| 日本久久久久久久久久久| 国产成人av在线| 久热精品视频在线免费观看| 亚洲精品免费一区二区三区| 91精品久久久久久综合乱菊| 国产在线拍揄自揄视频不卡99| 国产精品综合网站| 91九色在线视频| 欧美片一区二区三区| 国产午夜精品视频免费不卡69堂| 日本精品在线视频| 91色视频在线导航| 中文字幕欧美精品在线| 欧美日韩第一页| 亚洲bt欧美bt日本bt| 久久精品夜夜夜夜夜久久| 91中文字幕一区| 日韩av在线高清| 欧美午夜美女看片| 国产精品视频色| 日韩精品电影网| 精品久久久久久久久久久久久| 日本高清+成人网在线观看| 91久久国产综合久久91精品网站| 中文字幕成人在线| 亚洲视频专区在线| 久久深夜福利免费观看| 亚洲va男人天堂|