diff --git a/deploy/clear_service_data.py b/deploy/clear_service_data.py new file mode 100644 index 0000000..97cc236 --- /dev/null +++ b/deploy/clear_service_data.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import +import redis +from myops.mylog import define_logger +import logging + +define_logger("/data/logs/clear_redis_key.log") +log = logging.getLogger(__name__) + +conf = { + "host": "10.10.4.8", + "port": "6379", + "passwd": "crs-9ltb97ds:i33dkxshh" +} + + +class ClearService: + def __init__(self, accountid): + self.accountid = accountid.strip() + self.r = redis.Redis(host=conf['host'], + port=conf['port'], + password=conf['passwd'], + charset='utf8' + ) + + def clear_rediskey(self): + key = "cs_bd:{0}".format(self.accountid) + try: + data = self.r.get(key) + log.info("get redis_key={0} data={1} ".format(key, data)) + # self.r.expire(key,1) + except Exception: + log.error("clear {0} failed ".format(key), exc_info=True) diff --git a/web.py b/web.py index 54a4635..4f6012a 100644 --- a/web.py +++ b/web.py @@ -14,6 +14,8 @@ import pdb from data_channel.gamelog_external import Build_Gamelog_Config from data_channel.mp2shushu import Mp2shushu from deploy.deploy_keys import DeployKeys +from deploy.clear_service_data import ClearService + 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.") @@ -27,6 +29,8 @@ class DispatchHandler(tornado.web.RequestHandler): 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') == 'Ops' and self.get_query_argument('a') == 'clear_redis': + yield self._selfclear_redis() elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': yield self._selfdeploykeys() else: @@ -45,6 +49,14 @@ class DispatchHandler(tornado.web.RequestHandler): except Exception: log.error(f"deploy keys with {project} failed", exc_info=True) + def _selfclear_redis(self): + try: + accountid = self.get_query_argument('accountid') + cc = ClearService(accountid) + cc.clear_rediskey() + except Exception: + log.error(f"clear keys with {accountid} failed", exc_info=True) + def _selfgamelogexternal(self): try: @@ -64,7 +76,6 @@ class DispatchHandler(tornado.web.RequestHandler): return self.write({'errcode': 0, "errmsg": ''}) - def make_app(): return tornado.web.Application([(r"/webapp/index[\.]php", DispatchHandler)])