# 客户端管理器 import json from db.redis_manager import RedisUtils from user import authority from db import redis_manager from utils import import_util ths_util = import_util.import_lib("ths.ths_util") __redisManager = redis_manager.RedisManager(0) def getValidL2Clients(): keys = RedisUtils.keys(__redisManager.getRedis(), "client-active-*") client_ids = [] for k in keys: _id = k.split("client-active-")[1] # 客户端同花顺没卡死才能加入 if not ths_util.is_ths_dead(_id): client_ids.append(int(_id)) l2_clients = authority.get_l2_clients() return list(set(client_ids).intersection(set(l2_clients))) # 获取客户端IP def getActiveClientIP(client_id): val = RedisUtils.get(__redisManager.getRedis(), "client-active-{}".format(client_id)) if val is None: return None val = json.loads(val) return val[0] def saveClientActive(client_id, host, thsDead): if client_id <= 0: return RedisUtils.setex( __redisManager.getRedis(),"client-active-{}".format(client_id), 10, json.dumps((host, thsDead))) if ths_util: ths_util.set_ths_dead_state(client_id, thsDead) # 获取客户端同花顺状态 def getTHSState(client_id): val = RedisUtils.get(__redisManager.getRedis(), "client-active-{}".format(client_id)) if val is None: return None val = json.loads(val) return val[1]