python - Pyro4 杀死空的名称服务器
问题描述
我在分布式系统中使用 Pyro4。我的问题是两个网络连接后可能会有很多名称服务器。对我来说没问题,但如果其中任何一个是空的(没有注册对象),我的网络可能会失败。这是因为我正在实现和弦,我需要知道是否已经有任何和弦节点在运行(如果空的名称服务器响应,则将创建两个和弦环。如果名称服务器为空,有什么方法可以杀死它?
我的代码是在 python3 中。谢谢
解决方案
Pyro 的名称服务器假定它一直在运行:您永远不知道稍后是否会有人想要注册一个新名称。如果您真的需要它自动关闭,您将不得不将默认名称服务器包装在一些自定义代码中,或者使用某种形式的看门狗进程来杀死名称服务器,如果它检测到它有 0 个条目。
您可以通过对名称服务器的常规 Pyro 调用获取条目数:ns.count()
. 由于显而易见的原因,不可能通过这样的 Pyro API 调用远程关闭名称服务器,因此需要看门狗进程。
推荐阅读
- php - ACF 根据字段值进入前 10 名
- python - Python:strftime,何时使用日期库、时间库或日期时间库?
- javascript - 在量角器中的规格之间共享测试用例
- mysql - mySQL 在同一张表中将 Child 合并到 Mater
- robotframework - 如何从机器人框架中的excel表中读取数据?
- mongodb - Apache Drill Mongo DB 简单查询耗时太长
- javascript - D3.js:获取所选下拉选项的文本?
- rest - 使用相同的 json 结构响应每个请求是否是个坏主意?
- windows - Cython 无法编译
- angularjs - 如何暂停代码直到 .then 函数在 AngularJS 中执行