Pyro4 用于非网络进程间通信

Pyro4 for non-network inter-process communication

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

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

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

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

此外,您是否知道 Pyro4 也支持通过 Unix domain sockets 进行通信?这些纯粹是本地系统资源。

总而言之"Pyro4 is explicitly made for python programs running over a network"这句话是不正确的。我绝对希望 Pyro4 即使在一台计算机上也能在进程之间使用。如果您认为 Pyro4 有什么特别之处不适合此用途,请指出以便改进!