33 lines
966 B
Markdown
33 lines
966 B
Markdown
# Case: `cancel-cancels-single-task`
|
|
|
|
## 用例意义
|
|
|
|
验证 `cancel --task` 只取消指定任务,不会隐式取消同一运行中的其他任务。
|
|
|
|
## 前置条件
|
|
|
|
- 已创建运行 `run_blog_cancel_001`
|
|
- 已创建任务 `T1`、`T2`
|
|
- `T1` 已完成 `dispatch`
|
|
- 已知 `T1` 对应线程为 `THREAD_ID`
|
|
|
|
## 输入
|
|
|
|
```bash
|
|
orch --db TMPDIR/coord.db --json cancel --run run_blog_cancel_001 --task T1 --reason "Task is no longer needed."
|
|
orch --db TMPDIR/coord.db --json status --run run_blog_cancel_001
|
|
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
|
|
```
|
|
|
|
## 预期输出
|
|
|
|
- `cancel` 退出码为 `0`
|
|
- `status` 中 `T1.status == "cancelled"`
|
|
- `status` 中 `T2` 仍保持非 `cancelled` 状态
|
|
- `show.data.thread.status == "cancelled"`,指向 `T1` 的原线程
|
|
|
|
## 断言结论
|
|
|
|
- 单任务取消是局部控制动作,不会把运行整体终止
|
|
- 对已分派任务,取消也会同步终止对应 inbox 线程,避免 worker 继续执行
|