« Back to Index

[Python Tornado UVLoop]

View original Gist on GitHub

Tags: #python #tornado #uvloop

Python Tornado UVLoop.py

import asyncio
import tornado.httpserver
import tornado.ioloop
import tornado.platform.asyncio as tornado_asyncio
import tornado.web
import uvloop


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.finish('hello world')


def make_app():
    return tornado.web.Application([
        (r'/', MainHandler),
    ])


if __name__ == '__main__':
    # configuration for uvloop
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
    tornado_asyncio.AsyncIOMainLoop().install()  # not needed for tornado 5.0+

    app = make_app()

    # traditional tornado setup...
    #
    # app.listen(9000)
    # tornado.ioloop.IOLoop.current().start()
    server = tornado.httpserver.HTTPServer(app, xheaders=True)
    server.listen(9000)

    # configuration for uvloop
    asyncio.get_event_loop().run_forever()