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:汇总子任务。

如果我们合并一些步骤以减少迭代次数,这可能会更高效,但这个算法生成的代码非常易于理解。我们可以在未来进行优化。