Administrator
2023-10-30 fb47d36048e94b9a506d5c153e3dd19a01e37df1
outside_api_command_manager.py
@@ -11,8 +11,8 @@
# 心跳信息
from huaxin_client import socket_util
from huaxin_client.client_network import SendResponseSkManager
from log_module.log import logger_debug
from utils import middle_api_protocol
from log_module.log import logger_debug, logger_system
from utils import middle_api_protocol, tool
MSG_TYPE_HEART = "heart"
# 命令信息
@@ -52,7 +52,9 @@
API_TYPE_CODE_TRADE_STATE = "code_trade_state"  # 代码交易状态
API_TYPE_GET_ENV = "get_env"  # 获取环境信息
API_TYPE_SYNC_L1_TARGET_CODES = "sync_l1_subscript_codes"  # 同步L1需要订阅的代码
API_TYPE_SYSTEM_LOG = "system_log"  # 系统日志
API_TYPE_GET_FROM_DATA_SERVER = "get_from_data_server"  # 从数据服务器拉取数据
API_TYPE_CODE_TRADE_INFO = "code_trade_info"
class ActionCallback(object):
    # 交易
@@ -90,6 +92,13 @@
        pass
    def OnSyncL2SubscriptCodes(self, client_id, request_id):
        pass
    def OnGetFromDataServer(self, client_id, request_id, data):
        pass
    # 代码的交易信息
    def OnGetCodeTradeInfo(self, client_id, request_id, data):
        pass
@@ -185,8 +194,14 @@
                            cls.action_callback.OnGetCodeTradeState(client_id, request_id, data)
                        elif content_type == API_TYPE_GET_ENV:
                            cls.action_callback.OnGetEnvInfo(client_id, request_id, data)
                        elif content_type == API_TYPE_GET_ENV:
                        elif content_type == API_TYPE_SYNC_L1_TARGET_CODES:
                            cls.action_callback.OnSyncL2SubscriptCodes(client_id, request_id)
                        elif content_type == API_TYPE_SYSTEM_LOG:
                            cls.action_callback.OnSystemLog(client_id, request_id, data)
                        elif content_type == API_TYPE_GET_FROM_DATA_SERVER:
                            cls.action_callback.OnGetFromDataServer(client_id, request_id, data)
                        elif content_type == API_TYPE_CODE_TRADE_INFO:
                            cls.action_callback.OnGetCodeTradeInfo(client_id, request_id, data)
                    except Exception as e:
                        logging.exception(e)
                        pass
@@ -216,9 +231,6 @@
                sk.send(socket_util.load_header(json.dumps({"type": "heart", "client_id": client_id}).encode('utf-8')))
                # print("心跳信息发送成功", client_id)
            except Exception as e:
                logging.error("错误")
                print("心跳信息发送失败", _type, client_id)
                logging.exception(e)
                if _type == CLIENT_TYPE_TRADE:
                    if client_id in cls.trade_client_dict:
                        cls.trade_client_dict.pop(client_id)
@@ -244,6 +256,7 @@
    @classmethod
    def __maintain_client(cls):
        logger_system.info(f"outside_api __maintain_client 线程ID:{tool.get_thread_id()}")
        while True:
            try:
                if len(cls.trade_client_dict) < cls.trade_client_count: