Exemplo n.º 1
0
 def refresh_cache_data(self, args=None):
     logger.debug('[timer] refresh cache data start...')
     server_dir = model_gate.settings_data.server_dir
     scripts = model_gate.settings_data.refresh_cache['scripts']
     server_cache_data = model_gate.server_cache_data.get_data()
     try:
         for ip, data in model_gate.login_state_data.get_data().items():
             ssh = data['SSH']
             for script in scripts:
                 cmd = "{}/{}".format(server_dir, script)
                 result = SSHUtil.exec_info(ssh, cmd, True)[0]
                 result = result.split(Global.G_INNER_SPLIT)[1].strip()
                 for line in result.split('\n'):
                     key, value = line.split(Global.G_CACHE_SPLIT)
                     key = key.strip()
                     value = value.strip().split()
                     logger.debug("modify cache: {}: {}".format(
                         ip, {key: value}))
                     if ip in server_cache_data:
                         server_cache_data[ip][key] = value
                     else:
                         server_cache_data[ip] = {}
                         server_cache_data[ip][key] = value
         model_gate.server_cache_data.set_data(server_cache_data)
     except Exception as e:
         logger.error("refresh_cache_data {}".format(
             traceback.format_exc()))
     logger.debug(
         '[timer] refresh cache data end, server_cache_data: {}'.format(
             server_cache_data))
Exemplo n.º 2
0
 def execute_out(self, ssh, cmd):
     result = SSHUtil.exec_info(ssh, cmd, True)[0]
     return result.split(Global.G_INNER_SPLIT)[1].strip()