|  | @@ -76,7 +76,6 @@ class getVideo:
 | 
	
		
			
				|  |  |          if len(task_data) == 0:
 | 
	
		
			
				|  |  |              Feishu.bot(mark, '机器自动改造消息通知', f'今日任务为空,请关注', name)
 | 
	
		
			
				|  |  |              return mark
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          lock = threading.Lock()
 | 
	
		
			
				|  |  |          def process_task(task):
 | 
	
		
			
				|  |  |              task_mark = task["task_mark"]  # 任务标示
 | 
	
	
		
			
				|  | @@ -216,15 +215,26 @@ class getVideo:
 | 
	
		
			
				|  |  |                      cls.remove_files(video_path_url)
 | 
	
		
			
				|  |  |                      Common.logger("warning").warning(f"{name}的{task_mark}任务处理失败:{e}\n")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
 | 
	
		
			
				|  |  | -            futures = {executor.submit(process_task, task): task for task in task_data}
 | 
	
		
			
				|  |  | -            for future in concurrent.futures.as_completed(futures):
 | 
	
		
			
				|  |  | -                task = futures[future]
 | 
	
		
			
				|  |  | -                try:
 | 
	
		
			
				|  |  | -                    future.result()
 | 
	
		
			
				|  |  | -                    print(f"Task {task['task_mark']} 完成")
 | 
	
		
			
				|  |  | -                except Exception as exc:
 | 
	
		
			
				|  |  | -                    print(f"Task {task['task_mark']} 异常信息: {exc}")
 | 
	
		
			
				|  |  | +        batch_size = 3
 | 
	
		
			
				|  |  | +        with concurrent.futures.ThreadPoolExecutor(max_workers=batch_size) as executor:
 | 
	
		
			
				|  |  | +            index = 0
 | 
	
		
			
				|  |  | +            while index < len(task_data):
 | 
	
		
			
				|  |  | +                # 计算剩余的任务数量
 | 
	
		
			
				|  |  | +                remaining_tasks = len(task_data) - index
 | 
	
		
			
				|  |  | +                # 当前批次大小为剩余任务数量和批次大小中较小的一个
 | 
	
		
			
				|  |  | +                current_batch_size = min(batch_size, remaining_tasks)
 | 
	
		
			
				|  |  | +                # 获取当前批次的任务
 | 
	
		
			
				|  |  | +                current_batch = task_data[index:index + batch_size]
 | 
	
		
			
				|  |  | +                futures = {executor.submit(process_task, task): task for task in current_batch}
 | 
	
		
			
				|  |  | +                for future in concurrent.futures.as_completed(futures):
 | 
	
		
			
				|  |  | +                    task = futures[future]
 | 
	
		
			
				|  |  | +                    try:
 | 
	
		
			
				|  |  | +                        future.result()
 | 
	
		
			
				|  |  | +                        print(f"Task {task['task_mark']} 完成")
 | 
	
		
			
				|  |  | +                    except Exception as exc:
 | 
	
		
			
				|  |  | +                        print(f"Task {task['task_mark']} 异常信息: {exc}")
 | 
	
		
			
				|  |  | +                # 移动到下一批任务
 | 
	
		
			
				|  |  | +                index += current_batch_size
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Feishu.bot(mark, '机器自动改造消息通知', f'你的任务全部完成,请关注!!!!!', name)
 | 
	
		
			
				|  |  |          return mark
 |