From 315855587800b136d894771f41b72c60cc37bd32 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 26 十一月 2024 18:11:48 +0800 Subject: [PATCH] 接口修改/redis队列溢出保护/减少不必要的日志输出 --- third_data/kpl_limit_up_data_manager.py | 71 +++++++++++++++++++++-------------- 1 files changed, 42 insertions(+), 29 deletions(-) diff --git a/third_data/kpl_limit_up_data_manager.py b/third_data/kpl_limit_up_data_manager.py index 85a3413..9fc7629 100644 --- a/third_data/kpl_limit_up_data_manager.py +++ b/third_data/kpl_limit_up_data_manager.py @@ -4,6 +4,7 @@ from third_data import kpl_util, kpl_data_manager from third_data.history_k_data_manager import HistoryKDataManager from third_data.history_k_data_util import HistoryKDatasUtils +from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager from utils import tool, init_data_util @@ -43,6 +44,13 @@ __first_block_sequence_dict = {} @classmethod + def __get_code_blocks(cls, code): + blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code) + if not blocks: + blocks = set() + return blocks + + @classmethod def set_current_limit_up_datas(cls, current_limit_up_datas): """ 璁剧疆鐩墠鐨勬定鍋滀唬鐮� @@ -59,49 +67,54 @@ block_codes = {} limit_up_codes = set() for code in current_code_block_dict: - b = current_code_block_dict[code][1] - if b not in block_codes: - block_codes[b] = set() - block_codes[b].add(code) + bs = cls.__get_code_blocks(code) + for b in bs: + if b not in block_codes: + block_codes[b] = set() + block_codes[b].add(code) limit_up_codes.add(code) for code in record_code_block_dict: - b = record_code_block_dict[code][1] - if b not in block_codes: - block_codes[b] = set() - block_codes[b].add(code) + bs = cls.__get_code_blocks(code) + for b in bs: + if b not in block_codes: + block_codes[b] = set() + block_codes[b].add(code) # 鑾峰彇涓婁釜浜ゆ槗鏃ユ定鍋滅殑浠g爜 yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes() if yesterday_codes is None: yesterday_codes = set() for code in limit_up_codes: - # 璁$畻韬綅 - b = current_code_block_dict[code][1] - codes = block_codes[b] - total_count = len(codes) - # 缁熻鐪熸娑ㄥ仠鏁� - limit_up_count = 0 - limit_up_codes_list = [] - for c in codes: - if c in limit_up_codes: - limit_up_count += 1 - if c not in yesterday_codes: - limit_up_codes_list.append((c, current_code_block_dict[c][2])) - # 鑾峰彇棣栨澘浠g爜鐨勬帓浣� - limit_up_codes_list.sort(key=lambda x: x[1]) - index = 1 - for i in range(0, len(limit_up_codes_list)): - if limit_up_codes_list[i][0] == code: - index = i + 1 - break - cls.__first_block_sequence_dict[code] = (b, index, total_count, limit_up_count) + bs = cls.__get_code_blocks(code) + for b in bs: + # 璁$畻韬綅 + codes = block_codes[b] + total_count = len(codes) + # 缁熻鐪熸娑ㄥ仠鏁� + limit_up_count = 0 + limit_up_codes_list = [] + for c in codes: + if c in limit_up_codes: + limit_up_count += 1 + if c not in yesterday_codes: + limit_up_codes_list.append((c, current_code_block_dict[c][2])) + # 鑾峰彇棣栨澘浠g爜鐨勬帓浣� + limit_up_codes_list.sort(key=lambda x: x[1]) + index = 1 + for i in range(0, len(limit_up_codes_list)): + if limit_up_codes_list[i][0] == code: + index = i + 1 + break + if code not in cls.__first_block_sequence_dict: + cls.__first_block_sequence_dict[code] = [] + cls.__first_block_sequence_dict[code].append((b, index, total_count, limit_up_count)) @classmethod def get_current_limit_up_sequence(cls, code): """ 鑾峰彇浠g爜褰撳墠鐨勬澘鍧楄韩浣� @param code: - @return:锛堟澘鍧楀悕绉�,韬綅,鎬绘定鍋滄暟閲忥紝鐩墠娑ㄥ仠鏁伴噺锛� + @return:[锛堟澘鍧楀悕绉�,韬綅,鎬绘定鍋滄暟閲忥紝鐩墠娑ㄥ仠鏁伴噺锛塢 """ return cls.__first_block_sequence_dict.get(code) -- Gitblit v1.8.0