主题
定义 DAG 依赖
依赖表示“只有前置 Job 为 Succeeded,才创建后续 Job”,不是文件传递、条件表达式或成功标准。
建立依赖
- 在创建工作流的DAG 编排步骤添加所需节点。
- 先创建前置节点,再创建依赖节点。
- 从前置节点的输出端拖到依赖节点,确认出现有向连线。
- 选择错误的连线时删除它,再重新连接。
- 在 YAML 预览中确认后续模板的
dependencies包含正确的前置模板名称。
创建器会阻止自依赖、重复边和检测到的环,但不会检查:
- 前置 Job 是否已经产生后续 Job 需要的输出;
- 输出是否完整、原子或版本正确;
- 两个 Job 的镜像、Hydra 配置和路径是否兼容;
- 前置 Job 能否上报 Succeeded,从而解除依赖。
依赖只能指向更早出现的模板
Workflow 读取模板数组时只接受已经出现的依赖名称。YAML 中的依赖必须指向更早出现的模板;如果一个早期模板依赖后面的模板,即使图本身无环,也不要提交。
固定节点间的输入和输出
RLark Workflow 没有描述节点间产物的字段。需要传递数据时,请在任务所属项目中记录:
- 前置 Job 写入的持久对象键或目录;
- 完成标记、校验和及不可变版本;
- 后续 Job 读取的精确版本和验证逻辑;
- 不完整输出的隔离、清理和重试方法。
不要让后续 Job 读取“最新”或可被并发覆盖的路径。对象存储和 PVC 的并发限制参见存储。