def get_parallel_tasks(self, task_queue): """
获取可以并行执行的任务
排除有依赖关系的任务
"""
ready_tasks =[] for task in task_queue.tasks: # 检查任务依赖是否都满足 ifall(dep in task_queue.completedfor dep in task.dependencies):
ready_tasks.append(task) return ready_tasks
def update_queue(self, task_queue, completed_results): """更新任务队列""" # 将已完成任务标记为完成 for result in completed_results:
task_queue.completed.add(result.task.id)
# 移除已完成的任务
task_queue.tasks=[
t for t in task_queue.tasks if t.idnotin task_queue.completed ]