1.2 KiB
1.2 KiB
Case: dep-add-blocks-dependent-task-until-prerequisite-completes
用例意义
验证 dep add 会建立依赖边,并让被依赖任务在前置任务完成前保持不可调度。
前置条件
- 已存在 run
run_blog_002 - run 下已存在任务
T1与T2
输入
orch --db TMPDIR/coord.db --json run init --run run_blog_002 --goal "Build dependency-aware workflow"
orch --db TMPDIR/coord.db --json task add --run run_blog_002 --task T1 --title "Build backend" --default-to worker-a
orch --db TMPDIR/coord.db --json task add --run run_blog_002 --task T2 --title "Build frontend" --default-to worker-b
orch --db TMPDIR/coord.db --json dep add --run run_blog_002 --task T2 --depends-on T1
orch --db TMPDIR/coord.db --json ready --run run_blog_002
预期输出
dep add退出码为0data.dependency.task_id == "T2"data.dependency.depends_on_task_id == "T1"- 后续
ready只返回T1 T2不出现在ready.data.tasks中
断言结论
dep add会立刻影响 ready 计算结果- 依赖关系属于调度门控,而不是仅供展示的元数据
补充约束
--task不能依赖自己;自依赖应返回invalid_input- 重复添加同一条依赖边应返回
invalid_state