# 客户端管理器 import json import authority import redis_manager import ths_util __redisManager = redis_manager.RedisManager(0) def getValidL2Clients(): redis = __redisManager.getRedis() keys = redis.keys("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): redis = __redisManager.getRedis() val = redis.get("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 redis = __redisManager.getRedis() redis.setex("client-active-{}".format(client_id), 10, json.dumps((host, thsDead))) ths_util.set_ths_dead_state(client_id, thsDead) # 获取客户端同花顺状态 def getTHSState(client_id): redis = __redisManager.getRedis(); val = redis.get("client-active-{}".format(client_id)) if val is None: return None val = json.loads(val) return val[1]