def do_xmlrpc_rw(cobbler_api: CobblerAPI, port): """ This trys to bring up the Cobbler xmlrpc_api and restart it if it fails. :param cobbler_api: The cobbler_api instance which is used for this method. :param port: The port where the xmlrpc api should run on. """ xinterface = remote.ProxiedXMLRPCInterface(cobbler_api, remote.CobblerXMLRPCInterface) server = remote.CobblerXMLRPCServer(('127.0.0.1', port)) server.logRequests = 0 # don't print stuff logger.debug("XMLRPC running on %s", port) server.register_instance(xinterface) start_time = "" try: import psutil p = psutil.Process(os.getpid()) start_time = " in %s seconds" % str(time.time() - p.create_time()) except ModuleNotFoundError: # This is not critical, but debug only - just install python3-psutil pass while True: try: logger.info("Cobbler startup completed %s", start_time) server.serve_forever() except IOError: # interrupted? try to serve again time.sleep(0.5)
def do_xmlrpc_rw(cobbler_api, settings, port): xinterface = remote.ProxiedXMLRPCInterface(cobbler_api, remote.CobblerXMLRPCInterface) server = remote.CobblerXMLRPCServer(('127.0.0.1', port)) server.logRequests = 0 # don't print stuff xinterface.logger.debug("XMLRPC running on %s" % port) server.register_instance(xinterface) while True: try: print("SERVING!") server.serve_forever() except IOError: # interrupted? try to serve again time.sleep(0.5)
def do_xmlrpc_rw(cobbler_api: CobblerAPI, port): """ This trys to bring up the Cobbler xmlrpc_api and restart it if it fails. :param cobbler_api: The cobbler_api instance which is used for this method. :param port: The port where the xmlrpc api should run on. """ xinterface = remote.ProxiedXMLRPCInterface(cobbler_api, remote.CobblerXMLRPCInterface) server = remote.CobblerXMLRPCServer(('127.0.0.1', port)) server.logRequests = 0 # don't print stuff logger.debug("XMLRPC running on %s", port) server.register_instance(xinterface) while True: try: logger.info("Cobbler startup complete") server.serve_forever() except IOError: # interrupted? try to serve again time.sleep(0.5)