def main(): handler = NewServiceHandler() processor = NewService.Processor(handler) tfactory = TTransport.TBufferedTransportFactory() pfactory = TJSONProtocolFactory() server = THttpServer(processor, ('0.0.0.0', 8888), pfactory) server.serve()
def main(cmdline): p = argparse.ArgumentParser() p.add_argument('-c', '--proxy', dest='proxy_bin', default='', help='Run CORS proxy binary at PATH', metavar='PATH') p.add_argument('-p', '--port', dest='proxy_port', type=int, default=8000, help='Run CORS proxy on PORT (default=%(default)d)', metavar='PORT') p.add_argument('-v', '--verbose', action='count', dest='vb', default=0, help='Increase verbosity of output to stderr') args = p.parse_args(cmdline) loglevel = [logging.WARN, logging.INFO, logging.DEBUG][min(args.vb, 2)] _log.setLevel(loglevel) use_proxy, proxy = bool(args.proxy_bin), None if use_proxy: proxy = run_cors_proxy(args.proxy_bin, args.proxy_port) handler = BasicTestHandler() processor = thrift_service.Processor(handler) #transport = TSocket.TServerSocket(port=PORT) tfactory = TTransport.TBufferedTransportFactory() pfactory = TBinaryProtocol.TBinaryProtocolFactory() server = THttpServer(processor, ('localhost', PORT), pfactory) _log.info('Start server. port={:d}'.format(PORT)) try: server.serve() except KeyboardInterrupt: _log.info('Interrupted') _log.info('Server stopped') # Stop the proxy, if it was running if proxy is not None: _log.info('Stopping CORS proxy. pid={}'.format(proxy.pid)) for i in range(3): proxy.terminate() time.sleep(1) proxy.poll() if proxy.returncode is not None: break if proxy.returncode is None: proxy.kill() time.sleep(2) proxy.poll() if proxy.returncode is None: _log.error('Failed to stop CORS proxy. pid={}'.format(proxy.pid)) else: _log.debug('CORS proxy stopped.') return 0