Administrator
2024-03-22 3188666e40694641e954f3334a28e3bee8cc4b17
third_data/kpl_data_manager.py
@@ -14,7 +14,8 @@
# 开盘啦历史涨停数据管理
from db import mysql_data_delegate as mysql_data, redis_manager_delegate as redis_manager
from log_module.log import logger_kpl_limit_up_reason_change, logger_debug, logger_kpl_limit_up
from log_module.log import logger_kpl_limit_up_reason_change, logger_debug, logger_kpl_limit_up, \
    logger_kpl_open_limit_up
from third_data import kpl_util, kpl_api
from third_data.code_plate_key_manager import LimitUpCodesPlateKeyManager, CodesHisReasonAndBlocksManager
@@ -67,6 +68,20 @@
    @classmethod
    def save_record(cls, day, records):
        # 统计炸板
        try:
            last_codes = set()
            if cls.latest_origin_datas:
                last_codes = set([x[0] for x in cls.latest_origin_datas])
            now_codes = set()
            if records:
                now_codes = set([x[0] for x in records])
            open_limit_up_codes = last_codes - now_codes
            if open_limit_up_codes:
                logger_kpl_open_limit_up.info(f"炸板代码:{open_limit_up_codes}")
        except Exception as e:
            pass
        # 统计代码所属板块
        code_block_dict = {}
        for data in records:
@@ -77,6 +92,7 @@
                    code_block_dict[code] = set()
                code_block_dict[code].add(b)
                # 设置涨停数据
        if records:
            cls.latest_origin_datas = records
            cls.__LimitUpCodesPlateKeyManager.set_today_limit_up([(r[0], r[5]) for r in records])
@@ -401,7 +417,7 @@
    def get_limit_up():
        while True:
            if tool.is_trade_time():
            if (tool.is_trade_time() and int(tool.get_now_time_str().replace(':', '')) > int("092530")):
                try:
                    results = kpl_api.getLimitUpInfoNew()
                    result = json.loads(results)
@@ -446,7 +462,7 @@
            time.sleep(3)
    threading.Thread(target=get_limit_up, daemon=True).start()
    threading.Thread(target=get_bidding_money, daemon=True).start()
    # threading.Thread(target=get_bidding_money, daemon=True).start()
    # threading.Thread(target=get_market_industry, daemon=True).start()
    # threading.Thread(target=get_market_jingxuan, daemon=True).start()