From d424997fce8151bb020ed7d33a0fa6fb74e5be9c Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 09 一月 2025 14:47:46 +0800
Subject: [PATCH] BUG修复

---
 third_data/kpl_data_manager.py |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/third_data/kpl_data_manager.py b/third_data/kpl_data_manager.py
index 149b542..09b95c7 100644
--- a/third_data/kpl_data_manager.py
+++ b/third_data/kpl_data_manager.py
@@ -72,7 +72,13 @@
             pass
 
     @classmethod
-    def save_record(cls, day, records):
+    def save_record(cls, day, records, set_not_open=False):
+        """
+        @param day:
+        @param records:
+        @param set_not_open: 鏄惁闇�瑕佽缃偢鏉夸笌鍚�
+        @return:
+        """
         # 缁熻鐐告澘
         try:
             last_codes = set()
@@ -149,6 +155,10 @@
                     mysqldb.execute(
                         f"update kpl_limit_up_record set _latest_limit_up_time='{d[3]}',_limit_up_time='{d[2]}',_hot_block_code_count={d[10]},_limit_up_high_info='{d[4]}' ,_update_time=now() where _id='{_id}'")
                     cls.latest_datas[_id] = d
+            if set_not_open:
+                # 闇�瑕佽缃笉鐐告澘
+                mysqldb.execute(f"update kpl_limit_up_record set _open = 0, _update_time = now() where _id='{_id}'")
+
             cls.latest_datas[_id] = d
 
             # 鑾峰彇鍘熸潵鐨勪唬鐮佹墍灞炴澘鍧�,鍒犻櫎涔嬪墠閿欒鐨勬澘鍧�
@@ -367,7 +377,7 @@
                 if lines:
                     if int(file[0].replace("-", "")) <= int(max_day.replace("-", "")):
                         fresults.append((file[0], json.loads(lines[0])))
-                if len(fresults) >=count:
+                if len(fresults) >= count:
                     break
 
         return fresults
@@ -499,6 +509,12 @@
         #     # 澶т簬20s灏遍渶瑕佹洿鏂�
         #     threading.Thread(target=cls.run_market_jingxuan_out, daemon=True).start()
 
+        key = "market_strong"
+        if key not in cls.__latest_update_time_dict or time.time() - cls.__latest_update_time_dict[key] > 20:
+            logger_debug.info("浠诲姟淇-寮�鐩樺暒锛氬競鍦哄己搴�")
+            # 澶т簬20s灏遍渶瑕佹洿鏂�
+            threading.Thread(target=cls.run_market_strong, daemon=True).start()
+
     @classmethod
     def run_limit_up_task(cls):
         # 鍏抽棴log
@@ -559,6 +575,23 @@
                 time.sleep(3)
 
     @classmethod
+    def run_market_strong(cls):
+        """
+        绮鹃�夋祦鍑�
+        @return:
+        """
+        while True:
+            try:
+                if tool.is_trade_time():
+                    strong_value = kpl_api.getMarketStrong()
+                    cls.__upload_data("market_strong", strong_value)
+            except:
+                pass
+            finally:
+                cls.__latest_update_time_dict["market_strong"] = time.time()
+                time.sleep(3)
+
+    @classmethod
     # 杩愯鎷夊彇浠诲姟
     def run_pull_task(cls):
         def get_bidding_money():
@@ -600,6 +633,7 @@
                     time.sleep(3)
 
         threading.Thread(target=cls.run_limit_up_task, daemon=True).start()
+        threading.Thread(target=cls.run_market_strong, daemon=True).start()
         # threading.Thread(target=get_bidding_money, daemon=True).start()
         # threading.Thread(target=get_market_industry, daemon=True).start()
         # threading.Thread(target=cls.run_market_jingxuan_in, daemon=True).start()

--
Gitblit v1.8.0