agc_main.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from common import Feishu, Material
  2. from common.sql_help import sqlHelp
  3. from video_agc.agc_video_method import AgcVidoe
  4. import concurrent.futures
  5. import schedule
  6. import time
  7. # 记录今天已经返回的用户名
  8. returned_usernames_today = set()
  9. def video_start(user_data):
  10. global returned_usernames_today
  11. user_data_mark = user_data["mark"]
  12. # 开始准备执行生成视频脚本
  13. if user_data_mark is not None and user_data_mark in returned_usernames_today:
  14. print(f"视频脚本参数中的用户名 {user_data_mark} 今天已经返回过,不再启动线程。")
  15. return # 如果返回了某个用户名,并且今天已经返回过,则不启动线程
  16. elif user_data_mark is not None:
  17. print(f"视频脚本参数{user_data}")
  18. mark = AgcVidoe.video_stitching(user_data)
  19. if mark:
  20. returned_usernames_today.add(mark)
  21. data = Material.feishu_list()
  22. video_start(data[0])
  23. # # 定义定时任务
  24. # def video_task():
  25. # print("开始执行生成视频脚.")
  26. # data = Material.feishu_list()
  27. # # 创建一个线程池
  28. # with concurrent.futures.ThreadPoolExecutor() as executor:
  29. # futures = [executor.submit(video_start, user_data) for user_data in data]
  30. # # 等待所有任务执行完成
  31. # for future in concurrent.futures.as_completed(futures):
  32. # # 获取每个任务的执行结果
  33. # result = future.result()
  34. # print("处理结果:", result)
  35. # print("执行生成视频脚结束")
  36. # schedule.every(10).minutes.do(video_task)
  37. #
  38. # # 每天0点清空集合
  39. # schedule.every().day.at("00:00").do(lambda: returned_usernames_today.clear())
  40. #
  41. #
  42. # def job_feishu_bot():
  43. # name_list = Material.feishu_name()
  44. # count_list = sqlHelp.get_count_list(name_list)
  45. # Feishu.bot('recommend', 'AGC视频', f'{"".join(count_list)}', 'all')
  46. # print("机器人通知完成")
  47. #
  48. #
  49. # # 每天下午1:30执行任务
  50. # schedule.every().day.at("15:00").do(job_feishu_bot)
  51. #
  52. # while True:
  53. # schedule.run_pending()
  54. # time.sleep(1)
  55. #
  56. # # list = Material.feishu_list()
  57. # # AgcVidoe.video_stitching(list)
  58. # # print(list)
  59. #