本文整理汇总了Python中xmlrpclib.ServerProxy.getStatus方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.getStatus方法的具体用法?Python ServerProxy.getStatus怎么用?Python ServerProxy.getStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpclib.ServerProxy
的用法示例。
在下文中一共展示了ServerProxy.getStatus方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: is_server_running
# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import getStatus [as 别名]
def is_server_running(host, port):
"""Check if the XML/RPC server is running checking getStatus RPC."""
server = ServerProxy("http://%s:%s" % (host, port))
try:
server.getStatus()
except SocketError:
return False
return True
示例2: __init__
# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import getStatus [as 别名]
class XmlRpcBaseController:
"""An XML/RPC controller."""
usage = """%prog config_file action
action can be: start|startd|stop|restart|status|test
Execute action on the XML/RPC server.
"""
# the server class
server_class = XmlRpcBaseServer
def __init__(self, argv=None):
if argv is None:
argv = sys.argv
conf_path, self.action, options = self.parseArgs(argv)
# read conf
conf = ConfigParser()
conf.read(conf_path)
self.host = conf.get('server', 'host')
self.conf_path = conf_path
self.port = conf.getint('server', 'port')
self.url = 'http://%s:%s/' % (self.host, self.port)
self.quiet = options.quiet
self.verbose = options.verbose
self.server = ServerProxy(self.url)
def parseArgs(self, argv):
"""Parse programs args."""
parser = OptionParser(self.usage, formatter=TitledHelpFormatter(),
version="FunkLoad %s" % get_version())
parser.add_option("-q", "--quiet", action="store_true",
help="Suppress console output")
parser.add_option("-v", "--verbose", action="store_true",
help="Verbose mode (log-level debug)")
options, args = parser.parse_args(argv)
if len(args) != 3:
parser.error("Missing argument")
return args[1], args[2], options
def log(self, message, force=False):
"""Log a message."""
if force or not self.quiet:
trace(str(message))
def startServer(self, debug=False):
"""Start an XML/RPC server."""
argv = ['cmd', self.conf_path]
if debug:
argv.append('-dv')
elif self.verbose:
argv.append('-v')
daemon = self.server_class(argv)
daemon.run()
def __call__(self, action=None):
"""Call the xml rpc action"""
server = self.server
if action is None:
action = self.action
is_running = is_server_running(self.host, self.port)
if action == 'status':
if is_running:
ret = server.getStatus()
self.log('%s %s.\n' % (self.url, ret))
else:
self.log('No server reachable at %s.\n' % self.url)
return 0
elif action in ('stop', 'restart'):
if is_running:
ret = server.stopServer()
self.log('Server %s is stopped.\n' % self.url)
is_running = False
elif action == 'stop':
self.log('No server reachable at %s.\n' % self.url)
if action == 'restart':
self('start')
elif 'start' in action:
if is_running:
self.log('Server %s is already running.\n' % self.url)
else:
return self.startServer(action=='startd')
elif not is_running:
self.log('No server reachable at %s.\n' % self.url)
return -1
elif action == 'reload':
ret = server.reloadConf()
self.log('done\n')
elif action == 'test':
return self.test()
else:
raise NotImplementedError('Unknow action %s' % action)
return 0
# this method is done to be overriden in sub classes
def test(self):
"""Testing the XML/RPC.
Must return an exit code, 0 for success.
#.........这里部分代码省略.........