取消运行 flow.cancel
取消节点结束一个已经收到持久取消请求的运行。它没有配置字段,也不能当作普通条件分支的出口。宿主先把取消请求和原因写入历史,工作流随后可以释放锁、撤回外部任务、通知子运行或执行补偿,最后进入本节点提交取消终态。
清理顺序
取消请求到达后,运行代码仍可能需要若干持久步骤完成清理。每项清理使用独立且稳定的节点身份,并且能够处理重复交付。外部资源释放失败时,应选择重试、记录失败或转人工处理,不能直接跳过关键清理。受管子工作流仍在执行取消流程时,父运行需要等待其解析。
节点只接收 in 控制端口,没有数据和出站端口。取消原因沿用原请求,图中不另行配置。缺少持久取消请求时,引擎会拒绝提交这个终态,因此普通业务上的撤单、拒绝或关闭需要先明确它们是否属于工作流取消。若它们只是业务结果,可以使用条件分支加完成或失败节点表达。
竞争与验证
测试应覆盖任务完成与取消同时到达、Hook 接收与取消竞争、子工作流取消、清理步骤重试、重复取消请求和进程重启。最终历史只能出现一个终态。控制面应向调用者返回已经接受、正在清理或已经取消的真实状态,并保留原始取消原因与请求身份,方便操作者判断清理进度。
用它结束已经收到持久取消请求的运行。工作流通常先释放锁、撤回任务或等待子工作流清理,再进入此节点。
运行方式
节点没有配置字段。缺少取消请求时,引擎拒绝这个终态;成功提交后,取消原因沿用原请求。
节点契约
- 类型
flow.cancel- 角色
- 持久运行命令
- 运行绑定
cancel- 持久身份
- 由图结构决定
配置属性
这个节点没有配置属性。它的行为完全由进入节点时的运行状态决定。
端口
| 方向 | 端口 ID | 种类 | 数据类型 |
|---|---|---|---|
| 输入 | in进入 | control | FlowControl |
节点 JSON 示例
CLI 会用 manifest 默认值生成同样的节点结构。画布位置、标题和选中状态属于展示数据。
workflow.json
CLI 用法
先查看当前安装版本的 manifest,再创建节点并验证完整工作流。所有命令输出 JSON。
Terminal
Skill 用法
安装包内附带 a3s-flow Skill。它会先查询 CLI 的节点清单,再创建、校验、编译并计算语义摘要。
Prompt
使用注意
- 不要把取消节点当作普通分支出口。
- 清理任务使用新的稳定节点身份。
- 仍在清理的受管子工作流会阻止父运行结束。
