# -*- coding: utf-8 -*- # myops 通用接口 # python web.py --port=6013 import tornado.ioloop import tornado.web import tornado.options from tornado import gen from myops.mylog import define_logger import logging from config.config import * import pdb from data_channel.gamelog_external import Build_Gamelog_Config from data_channel.mp2shushu import Mp2shushu from deploy.deploy_keys import DeployKeys define_logger("/data/logs/myops/ops_interface.log") log = logging.getLogger(__name__) tornado.options.define("port", default=interface_port, type=int, help="run server on the given port.") class DispatchHandler(tornado.web.RequestHandler): @gen.coroutine def get(self): if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'sync_log_conf': print("start sync_log_conf! ") self._selfgamelogexternal() elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss': yield self._selfmp2ss() elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': yield self._selfdeploykeys() else: self.write("pls check args!") # @gen.coroutine # def post(self): # if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'upJumpRecording': # self._selfupJumpRecording() def _selfdeploykeys(self): try: project = self.get_query_argument('project') dk = DeployKeys(project) dk.run() except Exception: log.error(f"deploy keys with {project} failed", exc_info=True) def _selfgamelogexternal(self): try: cc = Build_Gamelog_Config() cc.run() except Exception: return self.write({'errcode': 2, "errmsg": 'Failed'}) return self.write({'errcode': 0, "errmsg": ''}) def _selfmp2ss(self): log.info("start mp2ss") try: ss = Mp2shushu(2001, 6001) ss.run() except Exception: return self.write({'errcode': 2, "errmsg": 'Failed'}) return self.write({'errcode': 0, "errmsg": ''}) def make_app(): return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)]) if __name__ == "__main__": print('start!') tornado.options.parse_command_line() app = make_app() app.listen(tornado.options.options.port) tornado.ioloop.IOLoop.current().start()