12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import os
- import tornado.gen
- import tornado.httpclient
- import tornado.httpserver
- import tornado.ioloop
- import tornado.options
- import tornado.web
- from tornado.options import define, options,OptionParser
- from model.common.file_pid import PID
- from urls import urls
- from model.log import logger
- import requests
- import time
- import sys
- log = logger()
- iTime = 300
- define("port", default=sys.argv[1], help="run on the given port", type=int)
- class HttpServerWrapper(tornado.web.Application):
- def __init__(self, port=80,debug=True):
- self.port = port
- handlers = urls
- # 默认为开发环境,只有当dev输入时为生产环境
- auth = True if 'pro' in OptionParser().parse_command_line() and sys.argv[1] == '8008' else False
- if auth:
- print('生产环境,启动')
- else:
- print('测试环境,启动')
- settings = {
- "port" : sys.argv[1],
- "auth": auth,
- "cookie_secret": "",
- "login_url": "",
- "autoreload": True,
- "debug": False,
- "allow_remote_access": True,
- "template_path": os.path.join(os.path.dirname(__file__), "templates"),
- "static_path": os.path.join(os.path.dirname(__file__), "templates")
- }
- super(HttpServerWrapper, self).__init__(handlers, **settings)
- def get_ip(self):
- for i in range(30):
- time.sleep(1)
- try:
- r = requests.get("http://jsonip.com").json()['ip']
- print(r)
- return r
- except:
- print('获取ip,出错')
- pass
- raise
- def main():
- #TODO:日志这部分需要设置一下,有问题
- PID.write()
- tornado.options.parse_command_line()
- http_server = tornado.httpserver.HTTPServer(HttpServerWrapper())
- http_server.listen(options.port)
- log.info("server start, listening on port %s" % options.port)
- tornado.ioloop.IOLoop.current().start()
- if __name__ == '__main__':
- main()
|