def __init__(self, address, wsgi_app): # Convenient way of creating a socket. \o/ self.sock = _tcp_listener(address, reuse_addr=1) self.address = address self.application = wsgi_app self.num_workers = 0 self.workers = set() self.worker_args = (), {} self.last_spawn = None self.exit_completed = gevent.event.Event() self.stop_event = gevent.event.Event()
def main(): try: from gevent.baseserver import _tcp_listener dir(_tcp_listener) # Placate PyFlakes except ImportError: from gevent.server import _tcp_listener port = int(getattr(settings, 'CLUTCH_RPC_PORT', 8088)) host = getattr(settings, 'CLUTCH_RPC_HOST', '0.0.0.0') listener = _tcp_listener((host, port), reuse_addr=1) serve_forever(listener, host, port)
def main(): try: from gevent.baseserver import _tcp_listener dir(_tcp_listener) # Placate PyFlakes except ImportError: from gevent.server import _tcp_listener for root, dirs, files in os.walk(CACHE_PREFIX): for d in dirs: shutil.rmtree(os.path.join(root, d), ignore_errors=True) port = int(getattr(settings, 'CLUTCH_TUNNEL_PORT', 41675)) host = getattr(settings, 'CLUTCH_TUNNEL_HOST', '0.0.0.0') listener = _tcp_listener((host, port), reuse_addr=1) serve_forever(listener, host, port)
start_response("200 OK", response_headers) return iter([local_data]) def build_app(redisconn=0): global RedisPool max_conn = int(redisconn) if max_conn==0: RedisPool = None return app RedisPool = ConnectionPool(max_connections = max_conn,host=Redis_url.hostname, port=Redis_url.port) return app_redis def serve_forever(listener, procname=''): setproctitle(procname) myapp = app if RedisPool: myapp = app_redis wsgi_tech.WSGIServer(listener, myapp, log=None).serve_forever() if __name__ == '__main__': import os port=os.getenv('PORT', 5000) listener = _tcp_listener( ('0.0.0.0', int(port)) ) wsgi_tech = pywsgi if options.pywsgi else wsgi default_title=sys.argv[0].replace('./','') tech_string = ' [pywsgi]' if options.pywsgi else ' [wsgi]' for i in xrange(options.workers): title = default_title + tech_string + ' [worker]' Process(target=serve_forever, args=(listener, title)).start() setproctitle(default_title + tech_string + ' [master]')
def __init__(self, addr, port, cmd_addr, cmd_port, script): self.cmd_addr = cmd_addr self.cmd_port = cmd_port self.worker_pids = [] self.script = script self.sock = _tcp_listener((addr, port), reuse_addr=1)
import apps.radartile import apps.wms PORT = 8000 def app(env, resp): appmap = { "/data": apps.radartile.app, "/map": apps.wms.app, } for app in appmap: if env["PATH_INFO"] == app: return appmap[app](env, resp) return static.Cling('.')(env, resp) def start_server(listener): pywsgi.WSGIServer(listener, app, handler_class=WebSocketHandler).serve_forever() if __name__ == "__main__": listener = _tcp_listener(('0.0.0.0', PORT)) for i in range(cpu_count()): Process(target=start_server, args=(listener,)).start() start_server(listener)
import sys from gevent import server from gevent.baseserver import _tcp_listener from gevent import pywsgi from gevent.monkey import patch_all patch_all() from multiprocessing import Process, current_process, cpu_count def hello_world(env, start_response): if env['PATH_INFO'] == '/': start_response('200 OK', [('Content-Type', 'text/html')]) return ["<b>hello world</b>"] else: start_response('404 Not Found', [('Content-Type', 'text/html')]) return ['<h1>Not Found</h1>'] listener = _tcp_listener(('127.0.0.1', 8001)) def serve_forever(listener): pywsgi.WSGIServer(listener, hello_world).serve_forever() number_of_processes = 5 print 'Starting %s processes' % number_of_processes for i in range(number_of_processes): Process(target=serve_forever, args=(listener, )).start() serve_forever(listener)
'--port', type=int, required=True, help='Indicate the port on which to bind the application') parser.add_argument('--processors', type=int, required=True, help='Number of listener processes to spawn. ' 'Use 0 for (cpu_count()*2)+1') args = parser.parse_args() basicConfig(format='%(levelname)s:%(name)s:%(asctime)s %(message)s', stream=sys.stdout, level=DEBUG) listener = _tcp_listener(('0.0.0.0', args.port)) def serve_forever(listener): pywsgi.WSGIServer(listener, dev_server).serve_forever() if args.processors == 0: num_proc = cpu_count() * 2 + 1 else: num_proc = args.processors for i in range(num_proc): Process(target=serve_forever, args=(listener, )).start() print 'Starting server on port {}'.format(args.port) serve_forever(listener)
parser = ArgumentParser( description='Start a development pdp.wsgi:dev_server Flask instance') parser.add_argument( '-p', '--port', type=int, required=True, help='Indicate the port on which to bind the application') parser.add_argument( '--processors', type=int, required=True, help='Number of listener processes to spawn. ' 'Use 0 for (cpu_count()*2)+1') args = parser.parse_args() basicConfig(format='%(levelname)s:%(name)s:%(asctime)s %(message)s', stream=sys.stdout, level=DEBUG) listener = _tcp_listener(('0.0.0.0', args.port)) def serve_forever(listener): pywsgi.WSGIServer(listener, dev_server).serve_forever() if args.processors == 0: num_proc = cpu_count() * 2 + 1 else: num_proc = args.processors for i in range(num_proc): Process(target=serve_forever, args=(listener, )).start() print 'Starting server on port {}'.format(args.port) serve_forever(listener)