ray.util.state.common.TaskSummaries# class ray.util.state.common.TaskSummaries(summary: Dict[str, TaskSummaryPerFuncOrClassName] | List[NestedTaskSummary], total_tasks: int, total_actor_tasks: int, total_actor_scheduled: int, summary_by: str = 'func_name')[源代码]# 基类:object total_tasks: int# 总 Ray 任务。 total_actor_tasks: int# 总演员任务。 total_actor_scheduled: int# 总计划演员数。 classmethod to_summary_by_lineage(*, tasks: List[Dict], actors: List[Dict]) → TaskSummaries[源代码]# 这按血统总结任务。即,如果两个任务有相同的父任务,它们将被分组在一起。 这通过4个步骤完成。步骤1:遍历所有任务并通过id和归属关系跟踪它们。步骤2:根据归属关系将任务放入树结构中。步骤3:如果树中有多个同名兄弟节点,则将其合并。步骤4:按运行中、错误和成功任务的顺序排序。步骤5:汇总子任务。 如果我们合并一些步骤以减少迭代次数,这可能会更高效,但这个算法生成的代码非常易于理解。我们可以在未来进行优化。