소스 검색

Merge branch 'featurre/luojunhui/20260417-rate-limited-filter-improve' of Server/LongArticleTaskServer into master

luojunhui 2 주 전
부모
커밋
13ae75fa76
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      app/domains/analysis_task/rate_limited_article_filter/_utils.py

+ 9 - 7
app/domains/analysis_task/rate_limited_article_filter/_utils.py

@@ -34,8 +34,8 @@ class RateLimitedArticleUtils:
         filtered_records: List[Dict] = []
 
         for gh_records in account_records.values():
-            low_streak = 0
             is_disabled = False
+            low_buffer: List[Dict] = []
 
             for row in self._sort_records_by_date(gh_records):
                 read_rate = float(row.get("read_rate") or 0)
@@ -45,21 +45,23 @@ class RateLimitedArticleUtils:
                     if is_low:
                         continue
                     is_disabled = False
-                    low_streak = 0
                     filtered_records.append(row)
                     continue
 
                 if is_low:
-                    low_streak += 1
-                    if low_streak >= consist_days:
+                    low_buffer.append(row)
+                    if len(low_buffer) >= consist_days:
                         is_disabled = True
-                        continue
-                    filtered_records.append(row)
+                        low_buffer.clear()
                     continue
 
-                low_streak = 0
+                filtered_records.extend(low_buffer)
+                low_buffer.clear()
                 filtered_records.append(row)
 
+            if not is_disabled:
+                filtered_records.extend(low_buffer)
+
         return filtered_records
 
     @staticmethod