monkey/monkey_island/cc/main.py

39 lines
1.3 KiB
Python
Raw Normal View History

2016-08-23 00:40:38 +08:00
from __future__ import print_function # In python 2.7
2015-09-29 22:01:09 +08:00
import os
import sys
2015-09-29 22:01:09 +08:00
2017-10-31 19:55:29 +08:00
import time
2017-08-25 22:47:08 +08:00
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if BASE_PATH not in sys.path:
sys.path.insert(0, BASE_PATH)
from cc.app import init_app
from cc.utils import local_ip_addresses
from cc.environment.environment import env
2017-10-31 19:55:29 +08:00
from cc.database import is_db_server_up
2015-09-29 22:01:09 +08:00
if __name__ == '__main__':
2016-08-01 01:40:05 +08:00
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
mongo_url = os.environ.get('MONGO_URL', env.get_mongo_url())
2017-10-31 19:55:29 +08:00
while not is_db_server_up(mongo_url):
print('Waiting for MongoDB server')
time.sleep(1)
2017-10-16 15:40:07 +08:00
2017-10-31 19:55:29 +08:00
app = init_app(mongo_url)
if env.is_debug():
2017-10-16 15:40:07 +08:00
app.run(host='0.0.0.0', debug=True, ssl_context=('server.crt', 'server.key'))
else:
http_server = HTTPServer(WSGIContainer(app),
ssl_options={'certfile': os.environ.get('SERVER_CRT', 'server.crt'),
'keyfile': os.environ.get('SERVER_KEY', 'server.key')})
http_server.listen(env.get_island_port())
print('Monkey Island Server is running on https://{}:{}'.format(local_ip_addresses()[0], env.get_island_port()))
2017-10-16 15:40:07 +08:00
IOLoop.instance().start()