agc_main.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. from common import Feishu, Material, Common
  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 = []
  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. Common.logger("video").info(f"视频脚本参数中的用户名 {user_data_mark} 今天已经返回过,不再启动线程。今天已经返回的用户名:{returned_usernames_today}")
  15. print(f"视频脚本参数中的用户名 {user_data_mark} 今天已经返回过,不再启动线程。")
  16. return # 如果返回了某个用户名,并且今天已经返回过,则不启动线程
  17. else:
  18. print(f"视频脚本参数{user_data}")
  19. mark = AgcVidoe.video_stitching(user_data)
  20. print(f"返回用户名{mark}")
  21. if mark:
  22. Common.logger("video").info(f"返回用户名{mark}")
  23. returned_usernames_today.append(user_data_mark)
  24. name_list = Material.feishu_list()
  25. video_start(name_list[1])
  26. # def clear_returned_usernames():
  27. # returned_usernames_today.clear()
  28. # print("returned_usernames_today 已清空")
  29. #
  30. # # 定义定时任务
  31. # def video_task():
  32. # print("开始执行生成视频脚.")
  33. # data = Material.feishu_list()
  34. # # 创建一个线程池
  35. # with concurrent.futures.ThreadPoolExecutor() as executor:
  36. # futures = [executor.submit(video_start, user_data) for user_data in data]
  37. # # 等待所有任务执行完成
  38. # for future in concurrent.futures.as_completed(futures):
  39. # try:
  40. # # 获取每个任务的执行结果
  41. # result = future.result()
  42. # print("处理结果:", result)
  43. # except Exception as e:
  44. # print("处理任务时出现异常:", e)
  45. # print("执行生成视频脚结束")
  46. #
  47. #
  48. # # 每天0点10清空集合
  49. # schedule.every().day.at("00:10").do(clear_returned_usernames)
  50. #
  51. # #每10分钟执行次脚本
  52. # schedule.every(10).minutes.do(video_task)
  53. # 每天下午1:30执行任务
  54. while True:
  55. schedule.run_pending()
  56. time.sleep(1)
  57. # list = Material.feishu_list()
  58. # AgcVidoe.video_stitching(list)
  59. # print(list)