Forráskód Böngészése

save-daily-rank-log

luojunhui 3 hete
szülő
commit
9178b56a3a

+ 5 - 5
app/api/service/daily_rank_manager.py

@@ -2,20 +2,20 @@ from typing import Optional
 
 
 class DailyRankManagerUtils:
-    """日榜管理工具类"""
+    """排序日志管理"""
 
     # 默认权重配置
     DEFAULT_WEIGHTS = {
-        "account_user_category_score": 1.0,
-        "category_score": 1.0,
+        "account_user_category_score": 0.2,
+        "category_score": 0.2,
         "flow_ctl_decrease_score": 1.0,
         "i2i_recommend_score": 1.0,
         "view_count_rate_score": 1.0,
         "his_fission_open_rate_score": 1.0,
         "crawler_days_decrease_score": 1.0,
         "crawler_days_decrease_v2_score": 1.0,
-        "similarity_score": 1.0,
-        "publish_times_score": 1.0,
+        "similarity_score": 0.0,
+        "publish_times_score": 0.0,
     }
 
     @staticmethod

+ 2 - 0
app/domains/monitor_tasks/rank_log_monitor/_const.py

@@ -1,5 +1,7 @@
 class RankLogMonitorConst:
 
+    DEFAULT_HIS_FISSION_OPEN_RATE_SCORE = 0.32
+
     DETAIL_COLUMN_MAP = {
         "PublishTimesStrategy": "publish_times_score",
         "AccountUserCategoryStrategy": "account_user_category_score",

+ 6 - 9
app/domains/monitor_tasks/rank_log_monitor/_utils.py

@@ -45,13 +45,10 @@ class RankLogMonitorUtils(RankLogMonitorConst):
 
         result = {}
         for key, column in self.DETAIL_COLUMN_MAP.items():
-            if key in score_map_json:
-                value = score_map_json[key]
-                if (
-                    key == "HisFissionOpenRateStrategy"
-                    and value == 0
-                    and content_pool_type == "autoArticlePoolLevel1"
-                ):
-                    value = 0.32
-                result[column] = value
+            result[column] = score_map_json.get(key, 0)
+
+        his_fission_column = self.DETAIL_COLUMN_MAP["HisFissionOpenRateStrategy"]
+        if content_pool_type == "autoArticlePoolLevel1" and result.get(his_fission_column) in (0, None):
+            result[his_fission_column] = self.DEFAULT_HIS_FISSION_OPEN_RATE_SCORE
+
         return result

+ 3 - 1
app/jobs/domains/algorithm.py

@@ -1 +1,3 @@
-from app.domains.algorithm_tasks import AccountCategoryAnalysis
+from app.domains.algorithm_tasks import AccountCategoryAnalysis
+
+__all__ = ['AccountCategoryAnalysis']

+ 9 - 1
app/jobs/domains/anaylsis.py

@@ -2,4 +2,12 @@ from app.domains.analysis_task import CrawlerDetailDeal
 from app.domains.analysis_task import AccountPositionReadRateAvg
 from app.domains.analysis_task import AccountPositionReadAvg
 from app.domains.analysis_task import AccountPositionOpenRateAvg
-from app.domains.analysis_task import RateLimitedArticleFilter
+from app.domains.analysis_task import RateLimitedArticleFilter
+
+__all__ = [
+    "CrawlerDetailDeal",
+    "AccountPositionReadRateAvg",
+    "AccountPositionReadAvg",
+    "AccountPositionOpenRateAvg",
+    "RateLimitedArticleFilter",
+]

+ 6 - 1
app/jobs/domains/cold_start.py

@@ -1,2 +1,7 @@
 from app.domains.cold_start_tasks import ArticlePoolColdStart
-from app.domains.cold_start_tasks import AdPlatformArticlePublishTask
+from app.domains.cold_start_tasks import AdPlatformArticlePublishTask
+
+__all__ = [
+    "ArticlePoolColdStart",
+    "AdPlatformArticlePublishTask",
+]

+ 9 - 1
app/jobs/domains/crawler_tasks.py

@@ -1,4 +1,12 @@
 from app.domains.crawler_tasks import CrawlerToutiao
 from app.domains.crawler_tasks import WeixinAccountManager
 from app.domains.crawler_tasks import CrawlerGzhAccountArticles
-from app.domains.crawler_tasks import CrawlerGzhSearchArticles
+from app.domains.crawler_tasks import CrawlerGzhSearchArticles
+
+
+__all__ = [
+    "CrawlerToutiao",
+    "WeixinAccountManager",
+    "CrawlerGzhAccountArticles",
+    "CrawlerGzhSearchArticles"
+]

+ 13 - 3
app/jobs/domains/data_recycle.py

@@ -5,6 +5,16 @@ from app.domains.data_recycle_tasks import CheckDailyPublishArticlesTask
 from app.domains.data_recycle_tasks import UpdateRootSourceIdAndUpdateTimeTask
 from app.domains.data_recycle_tasks import RecycleFwhDailyPublishArticlesTask
 from app.domains.data_recycle_tasks import RecycleMiniProgramDetailTask
-from app.domains.data_recycle_tasks import (
-    UpdateOutsideRootSourceIdAndUpdateTimeTask,
-)
+from app.domains.data_recycle_tasks import UpdateOutsideRootSourceIdAndUpdateTimeTask
+
+
+__all__ = [
+    "ArticleDetailStat",
+    "RecycleDailyPublishArticlesTask",
+    "RecycleOutsideAccountArticlesTask",
+    "CheckDailyPublishArticlesTask",
+    "UpdateRootSourceIdAndUpdateTimeTask",
+    "UpdateOutsideRootSourceIdAndUpdateTimeTask",
+    "RecycleFwhDailyPublishArticlesTask",
+    "RecycleMiniProgramDetailTask",
+]

+ 12 - 1
app/jobs/domains/llm_task.py

@@ -5,4 +5,15 @@ from app.domains.llm_tasks.aigc_decode_task import ExtractDecodeTaskDetail
 from app.domains.llm_tasks import TitleRewrite
 from app.domains.llm_tasks import ArticlePoolCategoryGeneration
 from app.domains.llm_tasks import CandidateAccountQualityScoreRecognizer
-from app.domains.llm_tasks import ExtractTitleFeatures
+from app.domains.llm_tasks import ExtractTitleFeatures
+
+__all__ = [
+    "CreateAdPlatformArticlesDecodeTask",
+    "CreateInnerArticlesDecodeTask",
+    "FetchDecodeResults",
+    "ExtractDecodeTaskDetail",
+    "TitleRewrite",
+    "ArticlePoolCategoryGeneration",
+    "CandidateAccountQualityScoreRecognizer",
+    "ExtractTitleFeatures",
+]

+ 18 - 1
app/jobs/domains/monitor_task.py

@@ -8,4 +8,21 @@ from app.domains.monitor_tasks import OutsideGzhArticlesMonitor
 from app.domains.monitor_tasks import OutsideGzhArticlesCollector
 from app.domains.monitor_tasks import TaskProcessingMonitor
 from app.domains.monitor_tasks import LimitedAccountAnalysisTask
-from app.domains.monitor_tasks import AdPlatformAccountsMonitorTask
+from app.domains.monitor_tasks import AdPlatformAccountsMonitorTask
+from app.domains.monitor_tasks import RankLogMonitor
+
+
+__all__ = [
+    "AutoReplyCardsMonitor",
+    "check_kimi_balance",
+    "GetOffVideos",
+    "CheckVideoAuditStatus",
+    "CooperateAccountsMonitorTask",
+    "InnerGzhArticlesMonitor",
+    "OutsideGzhArticlesMonitor",
+    "OutsideGzhArticlesCollector",
+    "TaskProcessingMonitor",
+    "LimitedAccountAnalysisTask",
+    "AdPlatformAccountsMonitorTask",
+    "RankLogMonitor",
+]

+ 5 - 0
app/jobs/task_handler.py

@@ -62,6 +62,11 @@ class TaskHandler:
         await self.log_client.log(contents=log_data)
 
     # ==================== 监控类任务 ====================
+    @register("rank_log_monitor")
+    async def _rank_log_monitor_handler(self) -> int:
+        task = RankLogMonitor(self.db_client, self.log_client)
+        await task.deal()
+        return TaskStatus.SUCCESS
 
     @register("check_kimi_balance")
     async def _check_kimi_balance_handler(self) -> int: