ioloop.py 832 B

123456789101112131415161718192021222324
  1. import logging
  2. import tornado.websocket
  3. from tornado.log import gen_log
  4. from tornado.web import StaticFileHandler
  5. from .platform.tornado import ws_handler, STATIC_PATH
  6. from . import project_dir
  7. def start_ioloop(coro_func, port=8080, debug=True, tornado_app_args=None):
  8. handlers = [(r"/ws", ws_handler(coro_func)),
  9. (r"/(.*)", StaticFileHandler, {"path": STATIC_PATH,
  10. 'default_filename': 'index.html'})]
  11. gen_log.setLevel(logging.DEBUG)
  12. tornado_app_args = tornado_app_args or {}
  13. app = tornado.web.Application(handlers=handlers, debug=debug, **tornado_app_args)
  14. http_server = tornado.httpserver.HTTPServer(app)
  15. http_server.listen(port)
  16. print('Open http://localhost:%s/ in Web browser' % port)
  17. tornado.ioloop.IOLoop.instance().start()