Prechádzať zdrojové kódy

2024-06-13
异步定时任务

罗俊辉 1 rok pred
rodič
commit
ac2280dc2b

+ 53 - 42
applications/deal/process_deal.py

@@ -146,49 +146,60 @@ class ProcessDeal(object):
                 trace_id = '{params["trace_id"]}'
         """
         await self.mysql_client.async_insert(sql=update_sql)
-        # 判断标题中是否包含video_id
-        if "video_id=" in params['title']:
-            await self.process_video_id(
-                title=params['title'],
-                trace_id=params['trace_id'],
-                process_times=params['process_times']
-            )
-        else:
-            print("开始搜索视频")
-            await search_videos(
-                params={"title": params['title'], "content": params['text'], "trace_id": params['trace_id']},
-                trace_id=params['trace_id'],
-                gh_id=params['gh_id'],
-                mysql_client=self.mysql_client
-            )
-            # 执行完成之后,判断是否存在视频id
-            select_sql = f"""
-                SELECT recall_video_id1, recall_video_id2, recall_video_id3
-                FROM {db_article}
-                WHERE trace_id = '{params["trace_id"]}';
-            """
-            result = await self.mysql_client.async_select(sql=select_sql)
-            vid1, vid2, vid3 = result[0]
-            if vid1:
-                update_sql2 = f"""
-                    UPDATE {db_article}
-                    SET 
-                       content_status = 2,
-                       process_times = {int(params['process_times']) + 1}
-                       WHERE trace_id = '{params["trace_id"]}';
-                """
-                await self.mysql_client.async_insert(sql=update_sql2)
-                print("搜索视频成功")
+        try:
+            # 判断标题中是否包含video_id
+            if "video_id=" in params['title']:
+                await self.process_video_id(
+                    title=params['title'],
+                    trace_id=params['trace_id'],
+                    process_times=params['process_times']
+                )
             else:
-                print("搜索视频失败")
-                update_sql3 = f"""
-                                    UPDATE {db_article}
-                                    SET 
-                                       content_status = 0,
-                                       process_times = {int(params['process_times']) + 1}
-                                    WHERE trace_id = '{params["trace_id"]}';
-                                """
-                await self.mysql_client.async_insert(sql=update_sql3)
+                print("开始搜索视频")
+                await search_videos(
+                    params={"title": params['title'], "content": params['text'], "trace_id": params['trace_id']},
+                    trace_id=params['trace_id'],
+                    gh_id=params['gh_id'],
+                    mysql_client=self.mysql_client
+                )
+                # 执行完成之后,判断是否存在视频id
+                select_sql = f"""
+                    SELECT recall_video_id1, recall_video_id2, recall_video_id3
+                    FROM {db_article}
+                    WHERE trace_id = '{params["trace_id"]}';
+                """
+                result = await self.mysql_client.async_select(sql=select_sql)
+                vid1, vid2, vid3 = result[0]
+                if vid1:
+                    update_sql2 = f"""
+                        UPDATE {db_article}
+                        SET 
+                           content_status = 2,
+                           process_times = {int(params['process_times']) + 1}
+                           WHERE trace_id = '{params["trace_id"]}';
+                    """
+                    await self.mysql_client.async_insert(sql=update_sql2)
+                    print("搜索视频成功")
+                else:
+                    print("搜索视频失败")
+                    update_sql3 = f"""
+                                        UPDATE {db_article}
+                                        SET 
+                                           content_status = 0,
+                                           process_times = {int(params['process_times']) + 1}
+                                        WHERE trace_id = '{params["trace_id"]}';
+                                    """
+                    await self.mysql_client.async_insert(sql=update_sql3)
+        except Exception as e:
+            print("{}异常错误:{}".format(params['trace_id'], e))
+            update_sql4 = f"""
+                                                    UPDATE {db_article}
+                                                    SET 
+                                                       content_status = 0,
+                                                       process_times = {int(params['process_times']) + 1}
+                                                    WHERE trace_id = '{params["trace_id"]}';
+                                                """
+            await self.mysql_client.async_insert(sql=update_sql4)
 
     async def deal(self):
         """

+ 0 - 1
applications/deal/search_deal_v2.py

@@ -70,7 +70,6 @@ class SearchDeal2(object):
                             (trace_id, content_id, gh_id, account_name, article_title, article_text, content_status, success, request_time_stamp)
                         VALUES 
                             ('{self.trace_id}', '{self.content_id}','{self.gh_id}', '{self.account_name}', '{self.title}', '{self.contents}', 0, 0, {request_time});"""
-        print(insert_sql)
         await self.mysql_client.async_insert(insert_sql)
         logging(
             code="1002",