add_task.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. # Author : Charley
  3. # Python : 3.10.8
  4. # Date : 2025/6/11 18:59
  5. from loguru import logger
  6. from mysql_pool import MySQLConnectionPool
  7. # logger.remove()
  8. # logger.add("./logs/add_{time:YYYYMMDD}.log", encoding='utf-8', rotation="00:00",
  9. # format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
  10. # level="DEBUG", retention="7 day")
  11. """
  12. C001000000,C开头到100万
  13. D000220000,D开头到22万
  14. E000050000,E开头到5万
  15. H000500000,H开头到50万
  16. L000400000,L开头到40万
  17. """
  18. start = 1
  19. sql_pool = MySQLConnectionPool(log=logger)
  20. # sql_kwd_list = sql_pool.select_all("select keyword from baocui_record")
  21. # sql_kwd_list = [i[0] for i in sql_kwd_list]
  22. # for prefix, end in [('C', 600001), ('D', 200001), ('E', 40001)]:
  23. for prefix, end in [('L', 400001)]:
  24. # if prefix == 'H':
  25. # start = 40001
  26. info_list = []
  27. for i in range(start, end):
  28. kwd = f"{prefix}{i:09d}"
  29. # if kwd in sql_kwd_list:
  30. # logger.info(f"{kwd}已存在")
  31. # continue
  32. info_list.append((kwd,)) # 添加元组格式以匹配参数化查询
  33. # print(info_list)
  34. # # 每10000条保存一次
  35. # if len(info_list) >= 10000:
  36. # sql_pool.insert_all("insert into baocui_task(keyword) values (%s)", info_list)
  37. # info_list.clear()
  38. #
  39. # # 处理剩余不足10000条的部分
  40. if info_list:
  41. sql_pool.insert_many(query="INSERT IGNORE INTO baocui_task(keyword) values (%s)", args_list=info_list, ignore=True)
  42. info_list.clear()