Parcourir la source

feat(cgc_spider): 优化任务ID生成范围并增强数据库批量插入日志

- 调整任务ID生成的数值范围和末尾三位数筛选规则
- 添加批量插入操作的详细日志,包含总行数和每批插入数量
- 注释部分调试代码更新为打印部分数据预览
- 提升批处理插入的可追踪性和调试效率
charley il y a 1 mois
Parent
commit
47d5e0f1b9
2 fichiers modifiés avec 9 ajouts et 3 suppressions
  1. 7 3
      cgc_spider/add_task.py
  2. 2 0
      cgc_spider/mysql_pool.py

+ 7 - 3
cgc_spider/add_task.py

@@ -15,10 +15,14 @@ num_list = []
 #     for j in range(100000, 1000000):  # 6位数范围 100000-999999
 #         num_list.append(f"{i}{j:06d}")
 
-for i in range(6060000000, 6069999999):
-    num_list.append(i)
+# for i in range(6060000000, 6069999999):
+for i in range(6069999999, 6110999999):
+    # 末尾三位数必须是在0-300之间的
+    last_three_digits = i % 1000
+    if 0 <= last_three_digits <= 300:
+        num_list.append(i)
 
-# print(len(num_list))
+# print(num_list[:3000])
 logger.debug(f"开始插入 {len(num_list)} 个数据.......................")
 
 sql_insert = "insert into cgc_task (cert_id) values (%s)"

+ 2 - 0
cgc_spider/mysql_pool.py

@@ -310,6 +310,7 @@ class MySQLConnectionPool:
         :param args_list: 插入参数列表
         :param batch_size: 每次插入的条数
         """
+        self.log.info(f"sql insert_too_many, Query: {query}, Total Rows: {len(args_list)}")
         for i in range(0, len(args_list), batch_size):
             batch = args_list[i:i + batch_size]
             try:
@@ -317,6 +318,7 @@ class MySQLConnectionPool:
                     with conn.cursor() as cursor:
                         cursor.executemany(query, batch)
                         conn.commit()
+                        self.log.debug(f"insert_too_many -> Total Rows: {len(batch)}")
             except Exception as e:
                 self.log.error(f"insert_too_many error. Trying single insert. Error: {e}")
                 # 当前批次降级为单条插入