Pyro4 杀死空名称服务器

Pyro4 kill empty nameserver

我在分布式系统中使用 Pyro4。我的问题是两个网络连接后可能会有很多名称服务器。这对我来说没问题,但如果其中任何一个为空(没有注册对象),我的网络可能会失败。 这是因为我正在实现和弦,我需要知道是否已经有任何和弦节点 运行(如果空名称服务器响应,则将创建两个和弦环。 如果名称服务器为空,有什么办法可以杀死它?
我的代码在 python3 中。谢谢

Pyro 的名称服务器一直假定它是 运行:您永远不知道稍后是否会有人想要注册一个新名称。如果您确实需要它自动关闭,则必须将默认名称服务器包装在一些自定义代码中,或者使用某种形式的看门狗进程在检测到它有 0 个条目时终止名称服务器。

您可以通过对名称服务器的常规 Pyro 调用获取条目数:ns.count()。出于明显的原因,不可能通过这样的 Pyro API 调用远程关闭名称服务器,因此需要看门狗进程。