Browse Source

fix: 精简 data_provider 批量查询日志,避免逐点位刷屏

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
wmy 1 week ago
parent
commit
bc7c669f9b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      core/data_provider.py

+ 7 - 1
core/data_provider.py

@@ -142,11 +142,14 @@ class DataProvider:
         time_index = pd.date_range(start=start_time, end=end_time, freq=f"{sample_interval}s")
         time_index = pd.date_range(start=start_time, end=end_time, freq=f"{sample_interval}s")
         result = {"index": time_index}
         result = {"index": time_index}
 
 
+        success, empty = 0, 0
         for i, pt in enumerate(points):
         for i, pt in enumerate(points):
-            logger.info(f"查询点位 [{i+1}/{len(points)}] {pt}")
+            if (i + 1) % 30 == 0 or (i + 1) == len(points):
+                logger.info(f"批量查询进度: [{i+1}/{len(points)}]")
             raw = self.query_single_point_history(pt, start_time, end_time)
             raw = self.query_single_point_history(pt, start_time, end_time)
             if raw.empty:
             if raw.empty:
                 result[pt] = np.nan
                 result[pt] = np.nan
+                empty += 1
             else:
             else:
                 resampled = raw.resample(f"{sample_interval}s").mean()
                 resampled = raw.resample(f"{sample_interval}s").mean()
                 resampled = resampled.reindex(
                 resampled = resampled.reindex(
@@ -155,6 +158,9 @@ class DataProvider:
                     tolerance=pd.Timedelta(seconds=sample_interval),
                     tolerance=pd.Timedelta(seconds=sample_interval),
                 )
                 )
                 result[pt] = resampled.ffill().bfill()
                 result[pt] = resampled.ffill().bfill()
+                success += 1
+
+        logger.info(f"批量查询完成: {success} 成功, {empty} 无数据 / 共 {len(points)} 点位")
 
 
         df = pd.DataFrame(result)
         df = pd.DataFrame(result)
         df.set_index("index", inplace=True)
         df.set_index("index", inplace=True)