job_video_processing.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import time
  2. from concurrent.futures import ThreadPoolExecutor, wait
  3. from common.redis import install_video_data
  4. from video_processing.video_processing import VideoProcessing
  5. max_workers = 10
  6. def video_ai_task_start():
  7. with ThreadPoolExecutor( max_workers=max_workers) as executor:
  8. while True:
  9. try:
  10. redis_task_list = ['task:video_ai_top', 'task:video_ai_recommend', 'task:video_ai_complex_mode']
  11. # 提交所有任务并等待完成
  12. futures = [executor.submit( process_video_ai, redis_task ) for redis_task in redis_task_list]
  13. wait( futures ) # 等待所有任务完成
  14. except Exception as e:
  15. print(f"异常信息{e}")
  16. time.sleep(3)
  17. continue
  18. def process_video_ai(redis_task):
  19. try:
  20. print("开始执行任务")
  21. video_processor = VideoProcessing()
  22. video_processor.get_video(redis_task)
  23. print("执行完成")
  24. time.sleep(5)
  25. except Exception as e:
  26. print("处理任务时出现异常:", e)
  27. time.sleep(5)
  28. if __name__ == '__main__':
  29. install_video_data()