From cf6f6207116803318e16705999f122fa3eceff3d Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 06 六月 2024 17:54:27 +0800 Subject: [PATCH] L1订阅 --- huaxin_client/l1_client_for_output.py | 35 +++++++++++++++++++++++++++++------ 1 files changed, 29 insertions(+), 6 deletions(-) diff --git a/huaxin_client/l1_client_for_output.py b/huaxin_client/l1_client_for_output.py index 83519c3..f911f9b 100644 --- a/huaxin_client/l1_client_for_output.py +++ b/huaxin_client/l1_client_for_output.py @@ -89,21 +89,21 @@ else: printlog('Login fail!!! [%d] [%d] [%s]' - % (nRequestID, pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) + % (nRequestID, pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) def OnRspSubMarketData(self, pSpecificSecurityField, pRspInfoField): if pRspInfoField.ErrorID == 0: printlog('OnRspSubMarketData: OK!') else: printlog('OnRspSubMarketData: Error! [%d] [%s]' - % (pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) + % (pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) def OnRspUnSubMarketData(self, pSpecificSecurityField, pRspInfoField): if pRspInfoField.ErrorID == 0: printlog('OnRspUnSubMarketData: OK!') else: printlog('OnRspUnSubMarketData: Error! [%d] [%s]' - % (pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) + % (pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) def OnRtnMarketData(self, pMarketDataField): if pMarketDataField.SecurityName.find("S") == 0: @@ -143,6 +143,21 @@ # 涓婁紶鏁版嵁 +def __get_target_codes(): + data_bytes = socket_util.load_header(json.dumps({"type": "get_l1_target_codes", "data": {}}).encode("utf-8")) + # 涓婁紶鏁版嵁 + sk = socket_util.create_socket(SERVER_HOST, SERVER_PORT) + try: + sk.sendall(data_bytes) + datas_str, header_str = socket_util.recv_data(sk) + data = json.loads(datas_str) + if data['code'] == 0: + return data['data'] + finally: + sk.close() + return None + + is_re_subscript = False @@ -179,10 +194,18 @@ codes_sh = [] codes_sz = [] for i in range(15): + # 鎷夊彇鏁版嵁 try: - codes_sh, codes_sz = l1_subscript_codes_manager.get_codes() - logger_local_huaxin_l1.info(f"鑾峰彇涓婅瘉锛屾繁璇佷唬鐮佹暟閲忥細sh-{len(codes_sh)} sz-{len(codes_sz)}") - break + codes = __get_target_codes() + if codes: + # 鍒嗙浠g爜 + for code in codes: + market = tool.get_market_type(code) + if market == tool.MARKET_TYPE_SZSE: + codes_sz.append(code.encode('utf-8')) + elif market == tool.MARKET_TYPE_SSE: + codes_sh.append(code.encode('utf-8')) + break except Exception as e: logger_local_huaxin_l1.exception(e) time.sleep(4) -- Gitblit v1.8.0