2024-06-18 11:20:37 发布
网友
在我的每个虚拟机上都有一个运行的Pyro服务器。这些都是相同的对象,我只是运行它们以确保可靠性。我希望能够监视这些对象是否是“活动的”和可到达的。在
假设我有他们的uri,我如何在不尝试运行实际对象的方法来查看它是否运行的情况下进行检查呢?在
一种选择是在这些对象中编写一个简单的noop方法,远程调用它,如果出现连接问题,我就知道该对象不可访问。在
noop
在Pyro中是否有内置的方法来完成此操作?似乎是一个很常见的用例。在
您不必向对象添加noop/ping方法,因为您可以在代理对象上使用_pyroBind()方法。如果对象不可访问,它将引发CommunicationError。例如,要查看名称服务器是否在端口9999上运行:
ping
_pyroBind()
import Pyro4 import Pyro4.errors with Pyro4.Proxy("PYRO:Pyro.NameServer@localhost:9999") as p: try: p._pyroBind() print("YEP IT IS RUNNING!") except Pyro4.errors.CommunicationError: print("NOPE IT IS NOT REACHABLE!")
您不必向对象添加
noop
/ping
方法,因为您可以在代理对象上使用_pyroBind()
方法。如果对象不可访问,它将引发CommunicationError。例如,要查看名称服务器是否在端口9999上运行:相关问题 更多 >
编程相关推荐