# 客户端管理器
|
import json
|
|
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():
|
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]
|