This commit is contained in:
pengtao 2021-09-06 14:11:29 +08:00
parent fc6c25d15e
commit b6a4ee299f

184
web.py
View File

@ -19,108 +19,104 @@ from deploy.clear_service_data import ClearService
from online.online_data import OnlineData2mysql from online.online_data import OnlineData2mysql
import json import json
define_logger("ops_interface.log") define_logger("ops_interface.log")
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
tornado.options.define("port", default=interface_port, tornado.options.define("port", default=interface_port, type=int, help="run server on the given port.")
type=int, help="run server on the given port.")
class DispatchHandler(tornado.web.RequestHandler): class DispatchHandler(tornado.web.RequestHandler):
@gen.coroutine @gen.coroutine
def get(self): def get(self):
if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'sync_log_conf': if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'sync_log_conf':
print("start sync_log_conf! ") print("start sync_log_conf! ")
self._selfgamelogexternal() self._selfgamelogexternal()
elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss': elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss':
yield self._selfmp2ss() yield self._selfmp2ss()
elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'user_online': elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'user_online':
#print(f"get user_online get") # print(f"get user_online get")
yield self._user_online() yield self._user_online()
elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'clear_redis': elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'clear_redis':
yield self._selfclear_redis() yield self._selfclear_redis()
elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys':
yield self._selfdeploykeys() yield self._selfdeploykeys()
else: else:
self.write("pls check args!") self.write("pls check args!")
@gen.coroutine @gen.coroutine
def post(self): def post(self):
data = json.loads(self.request.body) data = json.loads(self.request.body)
print(data) print(data)
if data.get('event_name', None) == 'tag_push': if data.get('event_name', None) == 'tag_push':
yield self._git_webhook() yield self._git_webhook()
else: else:
self.write("pls check args!") self.write("pls check args!")
def _git_webhook(self): def _git_webhook(self):
token = self.request.headers.get('X-Gitlab-Token', None) token = self.request.headers.get('X-Gitlab-Token', None)
if token == "kingsome_devops_937711": if token == "kingsome_devops_937711":
name = json.loads(self.request.body).get( name = json.loads(self.request.body).get('project', None).get('name', None)
'project', None).get('name', None) branch = json.loads(self.request.body).get('project', None).get('default_branch', None)
branch = json.loads(self.request.body).get( if branch == "master":
'project', None).get('default_branch', None) print("stat deploy git with {name}!".format(name=name))
if branch == "master": d = DeployGit(name)
print("stat deploy git with {name}!".format(name=name)) d.run()
d = DeployGit(name) else:
d.run() self.write("pls check args {name} {branch}!".format(name=name, branch=branch))
else: else:
self.write("pls check args {name} {branch}!".format( self.write("{token} not in define!".format(token=token))
name=name, branch=branch))
else: def _user_online(self):
self.write("{token} not in define!".format(token=token)) post_data = {}
post_data['zone_id'] = self.get_query_argument('zone_id')
def _user_online(self): post_data['number'] = self.get_query_argument('number')
post_data = {} post_data['channel_id'] = self.get_query_argument('channel_id')
post_data['zone_id'] = self.get_query_argument('zone_id') post_data['game_id'] = self.get_query_argument('game_id')
post_data['number'] = self.get_query_argument('number') post_data['gamename'] = 'wjtx'
post_data['channel_id'] = self.get_query_argument('channel_id') aa = OnlineData2mysql(post_data)
post_data['game_id'] = self.get_query_argument('game_id') log.info(f"get {post_data}")
post_data['gamename'] = 'wjtx' aa.run()
aa = OnlineData2mysql(post_data)
aa.run() def _selfdeploykeys(self):
try:
def _selfdeploykeys(self): project = self.get_query_argument('project')
try: dk = DeployKeys(project)
project = self.get_query_argument('project') dk.run()
dk = DeployKeys(project) except Exception:
dk.run() log.error(f"deploy keys with {project} failed", exc_info=True)
except Exception:
log.error(f"deploy keys with {project} failed", exc_info=True) def _selfclear_redis(self):
try:
def _selfclear_redis(self): accountid = self.get_query_argument('accountid')
try: cc = ClearService(accountid)
accountid = self.get_query_argument('accountid') cc.clear_rediskey()
cc = ClearService(accountid) except Exception:
cc.clear_rediskey() log.error(f"clear keys with {accountid} failed", exc_info=True)
except Exception:
log.error(f"clear keys with {accountid} failed", exc_info=True) def _selfgamelogexternal(self):
try:
def _selfgamelogexternal(self): cc = Build_Gamelog_Config()
try: cc.run()
cc = Build_Gamelog_Config() except Exception:
cc.run() return self.write({'errcode': 2, "errmsg": 'Failed'})
except Exception: return self.write({'errcode': 0, "errmsg": ''})
return self.write({'errcode': 2, "errmsg": 'Failed'})
return self.write({'errcode': 0, "errmsg": ''}) def _selfmp2ss(self):
log.info("start mp2ss")
def _selfmp2ss(self): try:
log.info("start mp2ss") ss = Mp2shushu(2001, 6001)
try: ss.run()
ss = Mp2shushu(2001, 6001) except Exception:
ss.run() return self.write({'errcode': 2, "errmsg": 'Failed'})
except Exception: return self.write({'errcode': 0, "errmsg": ''})
return self.write({'errcode': 2, "errmsg": 'Failed'})
return self.write({'errcode': 0, "errmsg": ''})
def make_app(): def make_app():
return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)]) return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)])
if __name__ == "__main__": if __name__ == "__main__":
print('start!') print('start!')
tornado.options.parse_command_line() tornado.options.parse_command_line()
app = make_app() app = make_app()
app.listen(tornado.options.options.port) app.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.current().start() tornado.ioloop.IOLoop.current().start()