39
39
logging.getLogger("routes.middleware").addHandler(logging.StreamHandler())
42
def run_server(application, port):
43
"""Run a WSGI server with the given application."""
44
sock = eventlet.listen(('0.0.0.0', port))
45
eventlet.wsgi.server(sock, application)
43
"""Server class to manage multiple WSGI sockets and applications."""
45
def __init__(self, threads=1000):
46
self.pool = eventlet.GreenPool(threads)
48
def start(self, application, port, host='0.0.0.0', backlog=128):
49
"""Run a WSGI server with the given application."""
50
socket = eventlet.listen((host, port), backlog=backlog)
51
self.pool.spawn_n(self._run, application, socket)
54
"""Wait until all servers have completed running."""
57
except KeyboardInterrupt:
60
def _run(self, application, socket):
61
"""Start a WSGI server in a new green thread."""
62
eventlet.wsgi.server(socket, application, custom_pool=self.pool)
48
65
class Application(object):