python调用rpc的方法,python实现rpa
本文主要介绍Python使用RPC的例子,通过示例代码介绍的非常详细,对大家的学习或者工作有一定的参考价值。有需要的朋友下面和边肖一起学习。
00-1010主要内容远程过程调用RPC常用和分布式计算,对应的Python库命名为rpyc;上半部分是rpyc服务器,下半部分是rpyc调用者;
目录
RPC是远程过程调用的简称,网上有很多解释。简单来说,当前进程调用其他进程的函数时,体验就像调用本地编写的函数一样。
本文实现了本地调用远程类对象的接口,即本地客户端不实例化类对象,而是调用服务器端的类对象接口。
为了让调用层有丝滑的体验而不关心底层实现,需要以下几个部分:
客户端需要提取类的接口,存储调用函数的事件捕获;服务器需要使用类的公共函数作为可以远程调用的接口。将客户端调用函数的事件(被调用函数和参数)序列化并发送给服务器;服务器将反序列化客户端的调用事件,执行相应的接口,并将返回值发送给客户端。客户端通过某种方式(通常是网络套接字)与服务器通信。
主要内容
从多处理导入池
来自rpyc进口服务
从rpyc.utils.server导入ThreadedServer
类RemoteService(服务):
定义on_connect(自我,连接):
打印(连接)
客户端要调用的方法前面必须有exposed_
def exposed_search(self,data):
打印(数据)
数据[结果]=好
返回数据
def总管(端口):
Sr=threaded server(service=remote service,hostname=127.0.0.1 ,port=port,auto_register=False)
print(fServer IP: {(服务主机,服务端口)} )
sr.start()
if __name__==__main__:
池=池(进程=2)
pool.apply_async(main,args=(9998,))
pool.apply_async(main,kwds={port:9999})
pool.close()
pool.join()
远程过程调用RPC常用与分布式计算,对应Python库名为rpyc;
导入rpyc
导入时间
从多处理导入池
定义搜索_数据库(查询,端口):
conn=rpyc.connect(localhost ,port)
调用时省略exposed_
result=conn.root.search(查询)
时间.睡眠(1)
打印(结果)
conn.close()
if __name__==__main__:
池=池(进程=2)
pool.apply_async(search_db,args=({ match : { name : user } },9998))
pool.apply_async(search_db,kwds={ query : { match : { name : user } }, port:9999})
pool.close()
pool.join()
关于Python的RPC例子的这篇文章到此为止。关于Python的RPC的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望你以后能支持热门的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。