成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

發(fā)布一個(gè)基于 mprpc_config 二次封裝的 pip 包

sunsmell / 1161人閱讀

摘要:是一個(gè)超快速的庫,最近一直在看的東西,考慮如何應(yīng)用到公司的項(xiàng)目中,模仿的方式二次封裝了一下。示例示例代碼在目錄啟動(dòng)和原文發(fā)布一個(gè)基于二次封裝的包博客時(shí)空路由器

mprpc 是一個(gè)超快速的Python RPC 庫,最近一直在看 RPC 的東西,考慮如何應(yīng)用到公司的項(xiàng)目中,模仿 Celery 的方式二次封裝了一下。

項(xiàng)目地址: mprpc_config

安裝
pip install mprpc_config
用法

構(gòu)建一個(gè)如下的目錄結(jié)構(gòu)

config.py 包含RPC配置屬性(任意命名)

INSTALLED_APP 必填參數(shù),list 類型,將每一個(gè)包含 RPC 接口的模塊名放進(jìn)去

app_module_name RPC 接口模塊(任意命名,可有多個(gè))

implement.py 接口模塊(任意命名,可有多個(gè)),里面包含 rpc 方法裝飾的接口函數(shù)

server.py RPC 服務(wù)器

初始化 mprpc_config 的 Configration 類,將 config.py 的模塊名 config 作為字符串傳入

導(dǎo)入 mprpc_config.rpc_server 的 RPCServer 和 StreamServer,啟動(dòng) RPC 服務(wù)器

使用 bind_class 方法將初始化后的所有 RPC 接口綁定給 RPCServer

使用 StreamServer 啟動(dòng) RPC 服務(wù)器

client.py RPC 客戶端(測(cè)試用,實(shí)際可分離)

客戶端啟動(dòng)方式可參考 mprpc 。

示例
示例代碼在 example 目錄

server.py

from mprpc_config.rpc_server import RPCServer, StreamServer
from mprpc_config import rpc_config


if __name__ == "__main__":
    print("-------start server--------")
    config = rpc_config.Configuration("config")
    config.bind_class(RPCServer)
    server = StreamServer(("127.0.0.1", 6000), RPCServer)
    server.serve_forever(stop_timeout=10)

client.py

from mprpc_config.rpc_client import RPCClient, RPCPoolClient
from mprpc_config.rpc_client import RPCPool

print("---------- client ----------")
client = RPCClient("127.0.0.1", 6000)
print("2 add 4: ", client.call("add", 2, 4))
print("2 plus 4: ", client.call("plus", 2, 4))
print("2 minus 4: ", client.call("minus", 2, 4))
print("---------- done ----------")

print("---------- client pool ----------")
client_pool = RPCPool(RPCPoolClient, dict(host="127.0.0.1", port=6000))
with client_pool.connection() as client:
    print("2 add 4: ", client.call("add", 2, 4))
    print("2 plus 4: ", client.call("plus", 2, 4))
    print("2 minus 4: ", client.call("minus", 2, 4))
print("---------- done ----------")

啟動(dòng) server 和 client

$ python server.py

---------- server ----------

$ python client.py

---------- client ----------
2 add 4:  6
2 plus 4:  8
2 minus 4:  -2
---------- done ----------
---------- client pool ----------
2 add 4:  6
2 plus 4:  8
2 minus 4:  -2
---------- done ----------

原文:發(fā)布一個(gè)基于 mprpc_config 二次封裝的 pip 包
博客:時(shí)空路由器

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44908.html

相關(guān)文章

  • polarphp:一個(gè) PHP 語言運(yùn)行時(shí)環(huán)境

    摘要:項(xiàng)目介紹是一個(gè)全新的語言的運(yùn)行時(shí)環(huán)境,基于目前最新的進(jìn)行打造,支持最新的語言規(guī)范,同時(shí)提供了自己的運(yùn)行時(shí)標(biāo)準(zhǔn)庫。同樣也在的基礎(chǔ)上進(jìn)行打造,實(shí)現(xiàn)了一個(gè)除開發(fā)之外的一個(gè)全新的運(yùn)行環(huán)境。發(fā)布核心虛擬機(jī)的鏡像。整合運(yùn)行時(shí)框架。 showImg(https://segmentfault.com/img/bVbnQXK); polarphp 項(xiàng)目介紹 polarphp是一個(gè)全新的PHP語言的運(yùn)行時(shí)...

    宋華 評(píng)論0 收藏0
  • 0x05 Python數(shù)據(jù)分析,Anaconda八斬刀

    摘要:做數(shù)據(jù)分析,,你值得擁有。的包管理器有和,本來是很方便的。另外,本身還提供了包管理器來安裝或升級(jí)相應(yīng)的包。八斬刀是詠春中最厲害的兵器,是一條大蟒蛇,翻譯為水蟒。如果數(shù)據(jù)科學(xué)是武俠中的詠春,那么便是數(shù)據(jù)科學(xué)中的八斬刀。 摘要:武俠,是成人的童話。江湖,是門派的斗爭(zhēng)。數(shù)據(jù)科學(xué)已經(jīng)開山立派,Python便是其中獨(dú)領(lǐng)風(fēng)搔的兵器。如果數(shù)據(jù)科學(xué)是IT武俠中的詠春,那么Anaconda便是數(shù)據(jù)科學(xué)中...

    yimo 評(píng)論0 收藏0
  • 手把手教你擴(kuò)展個(gè)人微信號(hào)(2)(微信控制器、群發(fā)助手、好友刪除檢測(cè))

    摘要:本文為教程的第二部分,主要以微信控制器群發(fā)助手好友刪除檢測(cè)為例演示如何調(diào)用微信。教程流程簡(jiǎn)介這一系列教程從如何分析微信協(xié)議開始,第一部分教你如何從零開始獲取并模擬擴(kuò)展個(gè)人微信號(hào)所需要的協(xié)議。 現(xiàn)在的日常生活已經(jīng)離不開微信,本文將會(huì)拋磚引玉演示如何使用Python調(diào)用微信API做一些有意思的東西。 看完這一系列教程,你就能從頭開始實(shí)現(xiàn)自己關(guān)于微信的想法。 本文為教程的第二部分,主要以微信...

    LeanCloud 評(píng)論0 收藏0
  • 微服務(wù)架構(gòu)中,二次封裝實(shí)踐

    摘要:三實(shí)踐案例案例簡(jiǎn)介分布式系統(tǒng)中,微服務(wù)基礎(chǔ)組件等,系統(tǒng)中間件,等,對(duì)常用功能配置等,進(jìn)行二次淺封裝并統(tǒng)一集成管理,以滿足日常開發(fā)中基礎(chǔ)環(huán)境搭建與臨時(shí)工具的快速實(shí)現(xiàn)。 一、背景簡(jiǎn)介 分布式系統(tǒng)中存在很多拆分的服務(wù),在不斷迭代升級(jí)的過程中,會(huì)出現(xiàn)如下常見的棘手情況: 某個(gè)技術(shù)組件版本升級(jí),依賴包升級(jí)導(dǎo)致部分語法或者API過期,或者組件修復(fù)緊急的問題,從而會(huì)導(dǎo)致分布式系統(tǒng)下各個(gè)服...

    Hujiawei 評(píng)論0 收藏0
  • 初創(chuàng)公司如何實(shí)現(xiàn) Ansible 多機(jī)房自動(dòng)部署發(fā)布

    摘要:在只有少量服務(wù)器的情況下,大多數(shù)運(yùn)維人員會(huì)選擇手動(dòng)更新,減少自動(dòng)化部署發(fā)布的開發(fā)成本。五自動(dòng)化部署發(fā)布示例簡(jiǎn)要說明下我們的項(xiàng)目如何使用實(shí)現(xiàn)了多個(gè)環(huán)境的自動(dòng)化部署發(fā)布。 showImg(https://segmentfault.com/img/bVJEL6?w=500&h=250); 一、面臨的問題 一個(gè)完整的程序開發(fā)流程少不了部署發(fā)布這個(gè)環(huán)節(jié),而部署發(fā)布是一個(gè)重復(fù)的過程,最基本的操作包...

    Karuru 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<