def get_application(loop=None): """ get websockets and wsgi application as a single Aiohttp application object. """ from aiohttp_wsgi import WSGIHandler from redis_pubsub.contrib import websockets wsgi_app = WSGIHandler(get_wsgi_application(), loop=loop) aio_app = websockets.setup(loop=loop) aio_app.router.add_route("*", "/{path_info:.*}", wsgi_app.handle_request) return aio_app
def handle(self, *args, **options): host = options["host"] port = options["port"] print("Prepairing async server ...") loop = asyncio.get_event_loop() wsgi_app = WSGIHandler(get_wsgi_application(), loop=loop) aio_app = websockets.setup(loop=loop) aio_app.router.add_route("*", "/{path_info:.*}", wsgi_app.handle_request) print("Starting async server ...") server = loop.create_server(aio_app.make_handler(), host, port) server = loop.run_until_complete(server) try: print("Server running on {0}:{1}\n CTRL-C to stop.".format(host, port)) loop.run_forever() except KeyboardInterrupt: print("Stopping server...")
def handle(self, *args, **options): host = options["host"] port = options["port"] print("Prepairing async server ...") loop = asyncio.get_event_loop() wsgi_app = WSGIHandler(get_wsgi_application(), loop=loop) aio_app = websockets.setup(loop=loop) aio_app.router.add_route("*", "/{path_info:.*}", wsgi_app.handle_request) print("Starting async server ...") server = loop.create_server(aio_app.make_handler(), host, port) server = loop.run_until_complete(server) try: print("Server running on {0}:{1}\n CTRL-C to stop.".format( host, port)) loop.run_forever() except KeyboardInterrupt: print("Stopping server...") server.close() loop.run_until_complete(service.wait_closed())