Celebi / 核心概念

Repository(仓库)

Celebi 仓库是一个组织良好的目录,其中包含对象 —— 目录对象、算法对象与 任务对象。

Celebi 仓库结构

每个对象必须包含

  • .celebi/config.json —— 机器读取的元数据。工作流 DAG 本身就由这里记录的 predecessorssuccessors 定义。
  • celebi.yaml —— 人类读取的元数据(环境、参数、命令)。
  • README.md —— 对象用途的文档。

目录(Directory) 则是包含子对象的对象。

没有绝对路径 —— 别名系统

为了让仓库可以在任何地方运行,仓库内不含任何绝对路径。为了让仓库可以自由 重组,任务通过别名(alias) 看到它的前驱:当依赖 “变了” 但并没有 “真正” 变化时 —— 比如任务改名或移动了位置 —— 下游任务看到的东西完全一样。 这正是 mv 式重组保持安全的原因。