| | |
| | | """ |
| | | import json |
| | | import logging |
| | | import queue |
| | | import socket |
| | | import time |
| | | |
| | |
| | | from utils import tool, global_util, socket_util |
| | | |
| | | redisManager = redis_manager.RedisManager(4) |
| | | l2_codes_queue = queue.Queue() |
| | | |
| | | |
| | | # 华鑫Level2订阅代码管理 |
| | | class HuaXinL2SubscriptCodesManager: |
| | | __L2_CODE_KEY = "huaxin_l2_code_list" |
| | | __SUBSCRIPT_KEY = "huaxin_subscript_codes" |
| | | __subscript_codes = [] |
| | | |
| | | @classmethod |
| | | def __get_redis(cls): |
| | |
| | | |
| | | @classmethod |
| | | def clear(cls): |
| | | cls.__get_redis().delete(cls.__L2_CODE_KEY) |
| | | # cls.__get_redis().delete(cls.__L2_CODE_KEY) |
| | | l2_codes_queue.clear() |
| | | |
| | | @classmethod |
| | | def push(cls, datas): |
| | | cls.__get_redis().lpush(cls.__L2_CODE_KEY, json.dumps((int(time.time()), datas))) |
| | | l2_codes_queue.put_nowait((int(time.time()), datas)) |
| | | # cls.__get_redis().lpush(cls.__L2_CODE_KEY, json.dumps()) |
| | | |
| | | @classmethod |
| | | def pop(cls): |
| | | val = cls.__get_redis().lpop(cls.__L2_CODE_KEY) |
| | | if val: |
| | | return json.loads(val) |
| | | return val |
| | | return l2_codes_queue.get() |
| | | # val = cls.__get_redis().lpop(cls.__L2_CODE_KEY) |
| | | |
| | | # 设置订阅代码 |
| | | @classmethod |
| | | def save_subscript_codes(cls, codes): |
| | | cls.__get_redis().setex(cls.__SUBSCRIPT_KEY, tool.get_expire(), json.dumps(codes)) |
| | | cls.__subscript_codes = codes |
| | | # cls.__get_redis().setex(cls.__SUBSCRIPT_KEY, tool.get_expire(), json.dumps(codes)) |
| | | |
| | | # 获取订阅的代码 |
| | | @classmethod |
| | | def get_subscript_codes(cls): |
| | | val = cls.__get_redis().get(cls.__SUBSCRIPT_KEY) |
| | | if not val: |
| | | return [] |
| | | return json.loads(val) |
| | | return cls.__subscript_codes |
| | | |
| | | |
| | | # 根据华鑫L2选出目标代码 |