ServerWrapper.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import os
  2. import tornado.gen
  3. import tornado.httpclient
  4. import tornado.httpserver
  5. import tornado.ioloop
  6. import tornado.options
  7. import tornado.web
  8. from tornado.options import define, options
  9. from model.common.file_pid import PID
  10. from urls import urls
  11. from model.log import logger
  12. from config.config import port
  13. log = logger()
  14. iTime = 300
  15. define("port", default=port, help="run on the given port", type=int)
  16. class HttpServerWrapper(tornado.web.Application):
  17. def __init__(self, port=80,debug=True):
  18. self.port = port
  19. handlers = urls
  20. settings = {
  21. "cookie_secret": "",
  22. "login_url": "",
  23. "autoreload": True,
  24. "debug": False,
  25. "allow_remote_access": True,
  26. "template_path": os.path.join(os.path.dirname(__file__), "templates"),
  27. "static_path": os.path.join(os.path.dirname(__file__), "templates")
  28. }
  29. super(HttpServerWrapper, self).__init__(handlers, **settings)
  30. def main():
  31. PID.write()
  32. tornado.options.parse_command_line()
  33. http_server = tornado.httpserver.HTTPServer(HttpServerWrapper())
  34. http_server.listen(options.port)
  35. log.info("server start, listening on port %s" % options.port)
  36. tornado.ioloop.IOLoop.current().start()
  37. if __name__ == '__main__':
  38. main()