Administrator
2023-03-15 68464c679ae5e1ae35e7e67e3b339ba0f939cbd3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 客户端管理器
import json
 
import authority
from db 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]