admin
2025-04-10 8ddb977e1ce2bd2ed4d3614f46d6ee80d2dcd10d
订阅修改
1个文件已修改
33 ■■■■ 已修改文件
huaxin_client/l2_client.py 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/l2_client.py
@@ -59,11 +59,12 @@
    # 买入的大单订单号
    def __init__(self, api, l2_data_upload_manager: L2DataUploadManager):
    def __init__(self, api, l2_data_upload_manager: L2DataUploadManager, codes):
        lev2mdapi.CTORATstpLev2MdSpi.__init__(self)
        self.__api = api
        self.is_login = False
        self.l2_data_upload_manager = l2_data_upload_manager
        self.codes = codes
    def __split_codes(self, codes):
        """
@@ -170,22 +171,6 @@
            # self.__set_latest_datas(codes)
            pass
    @classmethod
    def __set_latest_datas(cls, codes_data):
        data_str = json.dumps([tool.get_now_date_str(), list(codes_data)])
        with open(constant.L2_CODES_INFO_PATH, mode='w') as f:
            f.write(data_str)
    @classmethod
    def __get_latest_datas(cls):
        if os.path.exists(constant.L2_CODES_INFO_PATH):
            with open(constant.L2_CODES_INFO_PATH, mode='r') as f:
                str_ = f.readline()
                data_json = json.loads(str_)
                if data_json[0] == tool.get_now_date_str():
                    return data_json[1]
        return []
    def OnFrontConnected(self):
        printlog("OnFrontConnected")
        logger_system.info(f"l2_client OnFrontConnected 线程ID:{tool.get_thread_id()}")
@@ -203,10 +188,7 @@
            printlog("----L2行情登录成功----")
            self.is_login = True
            logger_system.info(f"L2行情登录成功")
            # 初始设置值
            threading.Thread(
                target=lambda: self.__process_codes_data(self.__get_latest_datas(), from_cache=True, delay=6.0),
                daemon=True).start()
            self.__process_codes_data(self.codes)
    def OnRspSubOrderDetail(self, pSpecificSecurity, pRspInfo, nRequestID, bIsLast):
        printlog("OnRspSubOrderDetail", pRspInfo)
@@ -365,7 +347,7 @@
            logging.exception(e)
def __init_l2(l2_data_upload_manager):
def __init_l2(l2_data_upload_manager, codes):
    printlog(lev2mdapi.CTORATstpLev2MdApi_GetApiVersion())
    # case 1: Tcp方式
    # g_SubMode=lev2mdapi.TORA_TSTP_MST_TCP
@@ -377,7 +359,7 @@
    # case 2非缓存模式
    # api = lev2mdapi.CTORATstpLev2MdApi_CreateTstpLev2MdApi(g_SubMode, False)
    global spi
    spi = Lev2MdSpi(api, l2_data_upload_manager)
    spi = Lev2MdSpi(api, l2_data_upload_manager, codes)
    api.RegisterSpi(spi)
    # -------------------正式模式-------------------------------------
    if g_SubMode != lev2mdapi.TORA_TSTP_MST_MCAST:
@@ -455,7 +437,7 @@
        # 初始化
        data_callback_distribute_manager = CodeDataCallbackDistributeManager(data_callbacks)
        l2_data_upload_manager = L2DataUploadManager(data_callback_distribute_manager)
        __init_l2(l2_data_upload_manager)
        __init_l2(l2_data_upload_manager, codes)
        threading.Thread(target=huaxin_l2_log.run_sync, daemon=True).start()
        # TODO 测试
@@ -463,9 +445,6 @@
        global l2CommandManager
        l2CommandManager = command_manager.L2CommandManager()
        l2CommandManager.init(MyL2ActionCallback())
        if codes:
            l2CommandManager.process_command(command_manager.CLIENT_TYPE_CMD_L2, None,
                                             {"type": command_manager.CLIENT_TYPE_CMD_L2, "data": codes})
        logger_system.info("L2订阅服务启动成功")
    except Exception as e:
        logger_system.exception(e)