123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import time
- from concurrent.futures import ThreadPoolExecutor, wait
- from common.redis import install_video_data
- from video_processing.video_processing import VideoProcessing
- max_workers = 10
- def video_ai_task_start():
- with ThreadPoolExecutor( max_workers=max_workers) as executor:
- while True:
- try:
- redis_task_list = ['task:video_ai_top']
- futures = []
- start_time = time.time() # 记录开始时间
- for redis_task in redis_task_list:
- futures.append(executor.submit( process_video_ai, redis_task))
- time.sleep(1) # 每秒提交一个任务
- wait( futures ) # 等待所有任务完成
- end_time = time.time() # 记录结束时间
- total_time = end_time - start_time # 计算总耗时
- print( f"6个线程完成任务总耗时:{total_time:.2f}秒" )
- except Exception as e:
- print(f"异常信息{e}")
- time.sleep(3)
- continue
- def process_video_ai(redis_task):
- try:
- print(f"开始执行任务{redis_task}")
- video_processor = VideoProcessing()
- video_processor.get_video(redis_task)
- print(f"执行完成{redis_task}")
- time.sleep(5)
- except Exception as e:
- print("处理任务时出现异常:", e)
- time.sleep(5)
- if __name__ == '__main__':
- video_ai_task_start()
|