Przeglądaj źródła

db_connector improve

luojunhui 4 miesięcy temu
rodzic
commit
43d6191a35

+ 14 - 12
coldStartTasks/publish/publish_video_to_pq_for_audit.py

@@ -11,9 +11,10 @@ from pymysql.cursors import DictCursor
 
 from applications import log
 from applications import PQAPI
-from applications import longArticlesMySQL
 from applications.const import WeixinVideoCrawlerConst
 from applications.api import generate_mini_program_title
+from applications.db import DatabaseConnector
+from config import long_articles_config
 
 const = WeixinVideoCrawlerConst()
 pq_functions = PQAPI()
@@ -25,7 +26,8 @@ class PublishVideosForAudit(object):
     """
 
     def __init__(self):
-        self.db = longArticlesMySQL()
+        self.db_client = DatabaseConnector(db_config=long_articles_config)
+        self.db_client.connect()
 
     def get_publish_video_list(self) -> List[Dict]:
         """
@@ -40,7 +42,7 @@ class PublishVideosForAudit(object):
             WHERE audit_status = {const.VIDEO_AUDIT_INIT_STATUS} and bad_status = {const.TITLE_DEFAULT_STATUS}
             LIMIT {rest_count};
             """
-        response = self.db.select(sql, cursor_type=DictCursor)
+        response = self.db_client.fetch(sql, cursor_type=DictCursor)
         return response
 
     def update_audit_status(self, video_id: int, ori_audit_status: int, new_audit_status: int) -> int:
@@ -57,8 +59,8 @@ class PublishVideosForAudit(object):
             SET audit_status = %s 
             WHERE audit_video_id = %s and audit_status = %s;
         """
-        affected_rows = self.db.update(
-            sql=update_sql,
+        affected_rows = self.db_client.save(
+            query=update_sql,
             params=(new_audit_status, video_id, ori_audit_status)
         )
         return affected_rows
@@ -74,7 +76,7 @@ class PublishVideosForAudit(object):
             WHERE audit_status != {const.VIDEO_AUDIT_INIT_STATUS}
             AND DATE(FROM_UNIXTIME(audit_timestamp)) = CURDATE();
         """
-        response = self.db.select(select_sql, cursor_type=DictCursor)
+        response = self.db_client.fetch(select_sql, cursor_type=DictCursor)
         return response[0]['total_count']
 
     def publish_each_video(self, video_obj: Dict) -> Dict:
@@ -96,8 +98,8 @@ class PublishVideosForAudit(object):
                 SET audit_status = %s, audit_video_id = %s, audit_timestamp = %s
                 WHERE id = %s;
             """
-            affected_rows = self.db.update(
-                sql=update_sql,
+            affected_rows = self.db_client.save(
+                query=update_sql,
                 params=(const.VIDEO_AUDIT_PROCESSING_STATUS, video_id, int(time.time()), video_obj['id'])
             )
             if affected_rows:
@@ -121,7 +123,7 @@ class PublishVideosForAudit(object):
                     SET audit_status = %s 
                     WHERE id = %s and audit_status = %s;
                 """
-                self.db.update(update_sql, params=(const.VIDEO_AUDIT_FAIL_STATUS, video_obj['id'], const.VIDEO_AUDIT_INIT_STATUS))
+                self.db_client.save(update_sql, params=(const.VIDEO_AUDIT_FAIL_STATUS, video_obj['id'], const.VIDEO_AUDIT_INIT_STATUS))
 
             result = {
                 "status": "fail",
@@ -138,7 +140,7 @@ class PublishVideosForAudit(object):
         :return:
         """
         sql = f"""SELECT audit_video_id FROM publish_single_video_source WHERE audit_status = {const.VIDEO_AUDIT_PROCESSING_STATUS};"""
-        response = self.db.select(sql, cursor_type=DictCursor)
+        response = self.db_client.fetch(sql, cursor_type=DictCursor)
         return response
 
     def update_mini_program_title(self, video_id: int) -> bool:
@@ -148,14 +150,14 @@ class PublishVideosForAudit(object):
         select_sql = f"""
             SELECT article_title FROM publish_single_video_source WHERE audit_video_id = {video_id};
         """
-        title = self.db.select(select_sql, cursor_type=DictCursor)[0]['article_title']
+        title = self.db_client.fetch(select_sql, cursor_type=DictCursor)[0]['article_title']
 
         try:
             mini_program_title = generate_mini_program_title(title)
             update_sql = f"""
             UPDATE publish_single_video_source SET mini_program_title = %s WHERE audit_video_id = %s;
             """
-            self.db.update(update_sql, params=(mini_program_title, video_id))
+            self.db_client.save(update_sql, params=(mini_program_title, video_id))
             log(
                 task="publish_video_for_audit",
                 function="update_mini_program_title",