用于非网络进程间通信的Pyro4

时间:2017-10-03 08:37:15

标签: python-3.x pyro

我目前正在使用Pyro4来创建托管服务的守护程序,这些服务只是可以从其他守护程序托管的对象或脚本调用的对象。这些对象需要很长时间才能初始化,因此我需要保持这些对象的活动,而不是只需重新运行一个脚本,每次我需要调用它们时都会创建它们。

实现非常简单,客户端代码执行得足够快,符合我的要求,并且很容易扩展功能。但是,Pyro4是为在网络上运行的python程序而明确制作的,我只是在服务器内部运行这些守护进程。似乎没有python包以Pyro4干净的方式处理守护进程之间的守护进程和通信。

我的问题:Pyro4是否适合我的需求,还是有其他更标准的方法来处理这个用例?

1 个答案:

答案 0 :(得分:1)

即使在单台机器上运行,许多进程间通信协议也在使用“网络”。本地环回适配器(IPV4地址127.0.0.0/8和IPV6 :: 1)上的“网络”连接应该特别快,因为这通常不会通过物理网络接口。

另外,您是否知道Pyro4还支持Unix domain sockets上的通信?那些纯粹是本地系统资源。

总而言之,“Pyro4是为在网络上运行的python程序明确制作的”这句话是不真实的。我绝对希望Pyro4可以在进程之间使用,即使在一台计算机上也是如此。如果您认为Pyro4特别适用于此目的,请指出它以便可以改进!