跳转到正文

定义 DAG 依赖

依赖表示“只有前置 Job 为 Succeeded,才创建后续 Job”,不是文件传递、条件表达式或成功标准。

建立依赖

  1. 在创建工作流的DAG 编排步骤添加所需节点。
  2. 先创建前置节点,再创建依赖节点。
  3. 从前置节点的输出端拖到依赖节点,确认出现有向连线。
  4. 选择错误的连线时删除它,再重新连接。
  5. 在 YAML 预览中确认后续模板的 dependencies 包含正确的前置模板名称。

创建器会阻止自依赖、重复边和检测到的环,但不会检查:

  • 前置 Job 是否已经产生后续 Job 需要的输出;
  • 输出是否完整、原子或版本正确;
  • 两个 Job 的镜像、Hydra 配置和路径是否兼容;
  • 前置 Job 能否上报 Succeeded,从而解除依赖。

依赖只能指向更早出现的模板

Workflow 读取模板数组时只接受已经出现的依赖名称。YAML 中的依赖必须指向更早出现的模板;如果一个早期模板依赖后面的模板,即使图本身无环,也不要提交。

固定节点间的输入和输出

RLark Workflow 没有描述节点间产物的字段。需要传递数据时,请在任务所属项目中记录:

  • 前置 Job 写入的持久对象键或目录;
  • 完成标记、校验和及不可变版本;
  • 后续 Job 读取的精确版本和验证逻辑;
  • 不完整输出的隔离、清理和重试方法。

不要让后续 Job 读取“最新”或可被并发覆盖的路径。对象存储和 PVC 的并发限制参见存储