def start(): """ Start the XML-RPC server, and print out the port number that it is listening on. """ server = XMLRPCServer(("127.0.0.1", 0), JPushyXMLRPCRequestHandler) # print out the port number print server.socket.getsockname()[1] sys.stdout.flush() server.allow_none = True server.register_introspection_functions() server.register_instance(JPushyFunctions()) server.serve_forever()
def run_xmlrpc_server(): '''Run an XMLRPC server that publishes the translate_stacktrace function.''' from DocXMLRPCServer import DocXMLRPCServer as XMLRPCServer logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s') with open(PIDFILE, 'w') as pidfile: pidfile.write('%s' % os.getpid()) try: # Create server server = XMLRPCServer(LISTEN_ADDR) server.register_function(translate_stacktrace) # Run the server's main loop try: server.serve_forever() except KeyboardInterrupt: pass finally: os.remove(PIDFILE)