main.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import os
  2. import sys
  3. import datetime
  4. import schedule
  5. import time
  6. sys.path.append(os.getcwd())
  7. from datetime import datetime
  8. from common import MysqlHelper, Common
  9. from video_capture.kuaishou.kuaishou_author.kuaishou_author import kuaishouAuthor
  10. from video_stitching.video_stitching import VideoStitching
  11. from video_capture.douyin.douyin_author.douyin_author import douyinAuthor
  12. # 获取音画美文类数量
  13. def get_yinmei_account_id():
  14. current_time = datetime.now()
  15. formatted_time = current_time.strftime("%Y-%m-%d")
  16. count = f"""SELECT COUNT(*) AS total_count FROM ( SELECT audio, account_id FROM video_audio WHERE time = '{formatted_time}' AND video_type = 0 GROUP BY audio, account_id) AS subquery;"""
  17. print(count)
  18. count = MysqlHelper.get_values(count, "prod")
  19. return count
  20. # 获取口播类数量
  21. def get_koubo_account_id():
  22. current_time = datetime.now()
  23. formatted_time = current_time.strftime("%Y-%m-%d")
  24. count = f"""SELECT COUNT(*) AS total_count FROM ( SELECT audio, account_id FROM video_audio WHERE time = '{formatted_time}' AND video_type = 1 GROUP BY audio, account_id) AS subquery;"""
  25. print(count)
  26. count = MysqlHelper.get_values(count, "prod")
  27. return count
  28. def job_video_stitching():
  29. yinmei_count = get_yinmei_account_id()
  30. koubo_count = get_koubo_account_id()
  31. if koubo_count == None:
  32. koubo_count = 0
  33. if yinmei_count == None:
  34. yinmei_count = 0
  35. yinmei_count = str(yinmei_count).replace('(', '').replace(')', '').replace(',', '')
  36. koubo_count = str(koubo_count).replace('(', '').replace(')', '').replace(',', '')
  37. if int(yinmei_count) < 10:
  38. Common.logger().info("开始执行")
  39. video_type = "音画美文"
  40. VideoStitching.video_stitching(video_type, yinmei_count)
  41. elif int(koubo_count) < 10:
  42. Common.logger().info("开始执行")
  43. video_type = "口播--美文类"
  44. VideoStitching.video_stitching(video_type, koubo_count)
  45. def job_douyin_data():
  46. douyinAuthor.get_videoList()
  47. def job_kuaishou_data():
  48. kuaishouAuthor.get_kuaishou_videoList()
  49. # 每5个小时执行一次
  50. schedule.every(5).hours.do(job_douyin_data)
  51. # 每5个小时执行一次
  52. schedule.every(6).hours.do(job_kuaishou_data)
  53. # 每15分钟执行一次
  54. schedule.every(15).minutes.do(job_video_stitching)
  55. while True:
  56. schedule.run_pending()
  57. time.sleep(1)