From 8bfdc52b40b4456a5a29e4502cce5865be8ef439 Mon Sep 17 00:00:00 2001 From: admin <admin@example.com> Date: 星期五, 05 九月 2025 18:17:15 +0800 Subject: [PATCH] bug修复 --- utils/hx_qc_value_util.py | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/utils/hx_qc_value_util.py b/utils/hx_qc_value_util.py index ec99f31..a982a61 100644 --- a/utils/hx_qc_value_util.py +++ b/utils/hx_qc_value_util.py @@ -8,6 +8,7 @@ from huaxin_client import l1_api_client from log_module.log import logger_debug +from strategy import data_cache from utils import tool __response_data = {} @@ -70,6 +71,8 @@ @param end_date: @return: """ + if not end_date: + end_date = tool.get_now_date_str() load_latest_trade_calendar() _count = -1 start_date = None @@ -109,6 +112,7 @@ end_date = tool.get_now_date_str() end_date = tool.date_sub(end_date, -30) days = get_trade_calendar(tool.date_sub(end_date, 365), end_date) + logger_debug.info(f"鍗庨懌API鑾峰彇浜ゆ槗鏃ュ巻缁撴灉锛歿days}") for i in range(0, len(days)): if 0 < i < len(days) - 1: __trade_calendar_dict[days[i]] = (days[i - 1], days[i + 1]) @@ -144,12 +148,48 @@ return None +def __read_callback_data(data_callback_queue: multiprocessing.Queue): + """ + 璇诲彇鏁版嵁鍥炶皟 + :param data_callback_queue: + :return: + """ + while True: + try: + data = data_callback_queue.get() + type_ = data[0] + data = data[1] + if type_ == "stock_index_datas": + for k in data: + """ + 鍊肩殑鏍煎紡涓猴細 + { + "PreClosePrice":pStockIndexData, + "LastPrice": pStockIndexData.LastPrice, + "SecurityID": pStockIndexData.SecurityID, + "UpdateTime": pStockIndexData.UpdateTime, + "Volume": pStockIndexData.Volume, + "Turnover": pStockIndexData.Turnover, + "LXLastPrice": pStockIndexData.LXLastPrice, + } + """ + d = data[k] + data_cache.stock_index_dict[k] = (round(d["LastPrice"], 2), d["Volume"], d["Turnover"], d["PreClosePrice"]) + except: + pass + + def run(): global request_queue - request_queue, response_queue = multiprocessing.Queue(), multiprocessing.Queue() + request_queue, response_queue, data_callback_queue = multiprocessing.Queue(), multiprocessing.Queue(), multiprocessing.Queue() # 鍚姩澧炲�兼湇鍔¤繘绋� - process = multiprocessing.Process(target=l1_api_client.run, args=(request_queue, response_queue,), daemon=True) + process = multiprocessing.Process(target=l1_api_client.run, + args=(request_queue, response_queue, data_callback_queue,), daemon=True) process.start() + + # 璇诲彇鏁版嵁鍥炶皟 + threading.Thread(target=__read_callback_data, args=(data_callback_queue,), daemon=True).start() + __set_response(response_queue) -- Gitblit v1.8.0