浏览代码

kimi_title_bug_fix

luojunhui 3 月之前
父节点
当前提交
d092d00db7
共有 4 个文件被更改,包括 44 次插入0 次删除
  1. 1 0
      applications/const/task_const.py
  2. 18 0
      tasks/new_contentId_task.py
  3. 1 0
      tasks/utils/__init__.py
  4. 24 0
      tasks/utils/kimi_task.py

+ 1 - 0
applications/const/task_const.py

@@ -73,6 +73,7 @@ class NewContentIdTaskConst(HistoryContentIdTaskConst):
     MIN_MATCH_VIDEO_NUM = 3
     MIN_MATCH_VIDEO_NUM = 3
 
 
     # long_articles_text中,KIMI处理状态
     # long_articles_text中,KIMI处理状态
+    KIMI_INIT_STATUS = 0
     KIMI_SUCCESS_STATUS = 1
     KIMI_SUCCESS_STATUS = 1
     KIMI_FAIL_STATUS = 2
     KIMI_FAIL_STATUS = 2
 
 

+ 18 - 0
tasks/new_contentId_task.py

@@ -290,6 +290,24 @@ class NewContentIdTask(object):
                         info="多个进程抢占同一个任务的执行状态锁,抢占失败,return"
                         info="多个进程抢占同一个任务的执行状态锁,抢占失败,return"
                     )
                     )
                     return
                     return
+                
+                # 将root_content_id的kimi结果更新到content_id
+                content_id = params['content_id']
+                update_count =  await update_kimi_status(
+                    kimi_info=kimi_result,
+                    content_id=content_id,
+                    db_client=self.long_articles_client,
+                    article_text_table=self.article_text_table,
+                    success_status=NewContentIdTaskConst.KIMI_SUCCESS_STATUS,
+                    init_status=NewContentIdTaskConst.KIMI_INIT_STATUS
+                )
+
+                if update_count == 0:
+                    logging(
+                        code="6000",
+                        info="多个进程抢占同一个任务的执行状态锁,抢占失败,return"
+                    )
+                    return
                 logging(
                 logging(
                     code="8023",
                     code="8023",
                     function="kimi_task",
                     function="kimi_task",

+ 1 - 0
tasks/utils/__init__.py

@@ -5,6 +5,7 @@
 from .kimi_task import get_kimi_result
 from .kimi_task import get_kimi_result
 from .kimi_task import get_kimi_status
 from .kimi_task import get_kimi_status
 from .kimi_task import generate_kimi_result
 from .kimi_task import generate_kimi_result
+from .kimi_task import update_kimi_status
 
 
 from .spider_task import get_downloaded_videos
 from .spider_task import get_downloaded_videos
 from .spider_task import update_crawler_table_with_exist_content_id
 from .spider_task import update_crawler_table_with_exist_content_id

+ 24 - 0
tasks/utils/kimi_task.py

@@ -89,3 +89,27 @@ async def generate_kimi_result(content_id, article_text_table, db_client, safe_s
         "kimi_summary": content_title,
         "kimi_summary": content_title,
         "kimi_keys": kimi_info['content_keys']
         "kimi_keys": kimi_info['content_keys']
     }
     }
+
+
+async def update_kimi_status(content_id, article_text_table, db_client, kimi_info, success_status, init_status) -> int:
+    """
+    更新 kimi 记录
+    """
+    update_sql = f"""
+        UPDATE {article_text_table}
+        SET
+            kimi_title = %s, kimi_summary = %s, kimi_keys = %s, kimi_status = %s 
+        WHERE content_id = %s and kimi_status = %s;
+    """
+    affected_rows = await db_client.async_insert(
+        sql=update_sql,
+        params=(
+            kimi_info['kimi_title'],
+            kimi_info['kimi_summary'],
+            json.dumps(kimi_info['kimi_keys'], ensure_ascii=False),
+            success_status,
+            content_id,
+            init_status
+        )
+    )
+    return affected_rows