For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Flow/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Flow/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Flow/nodes/cancel.md.
  • 简体中文
  • v1.1.0
  • 取消运行 flow.cancel

    取消节点结束一个已经收到持久取消请求的运行。它没有配置字段,也不能当作普通条件分支的出口。宿主先把取消请求和原因写入历史,工作流随后可以释放锁、撤回外部任务、通知子运行或执行补偿,最后进入本节点提交取消终态。

    清理顺序

    取消请求到达后,运行代码仍可能需要若干持久步骤完成清理。每项清理使用独立且稳定的节点身份,并且能够处理重复交付。外部资源释放失败时,应选择重试、记录失败或转人工处理,不能直接跳过关键清理。受管子工作流仍在执行取消流程时,父运行需要等待其解析。

    节点只接收 in 控制端口,没有数据和出站端口。取消原因沿用原请求,图中不另行配置。缺少持久取消请求时,引擎会拒绝提交这个终态,因此普通业务上的撤单、拒绝或关闭需要先明确它们是否属于工作流取消。若它们只是业务结果,可以使用条件分支加完成或失败节点表达。

    竞争与验证

    测试应覆盖任务完成与取消同时到达、Hook 接收与取消竞争、子工作流取消、清理步骤重试、重复取消请求和进程重启。最终历史只能出现一个终态。控制面应向调用者返回已经接受、正在清理或已经取消的真实状态,并保留原始取消原因与请求身份,方便操作者判断清理进度。

    用它结束已经收到持久取消请求的运行。工作流通常先释放锁、撤回任务或等待子工作流清理,再进入此节点。

    运行方式

    节点没有配置字段。缺少取消请求时,引擎拒绝这个终态;成功提交后,取消原因沿用原请求。

    节点契约

    类型
    flow.cancel
    角色
    持久运行命令
    运行绑定
    cancel
    持久身份
    由图结构决定

    配置属性

    这个节点没有配置属性。它的行为完全由进入节点时的运行状态决定。

    端口

    方向端口 ID种类数据类型
    输入in进入controlFlowControl

    节点 JSON 示例

    CLI 会用 manifest 默认值生成同样的节点结构。画布位置、标题和选中状态属于展示数据。

    workflow.json
    {
      "position": {
        "x": 320,
        "y": 160
      },
      "id": "example-flow-cancel",
      "data": {
        "type": "flow.cancel"
      }
    }

    CLI 用法

    先查看当前安装版本的 manifest,再创建节点并验证完整工作流。所有命令输出 JSON。

    Terminal
    a3s-flow node flow.cancel --pretty
    a3s-flow new flow.cancel --id example-flow-cancel --pretty
    a3s-flow validate workflow.json --pretty
    a3s-flow compile workflow.json --pretty
    a3s-flow digest workflow.json --pretty

    Skill 用法

    安装包内附带 a3s-flow Skill。它会先查询 CLI 的节点清单,再创建、校验、编译并计算语义摘要。

    Prompt
    Use $a3s-flow to add the "flow.cancel" node to workflow.json, connect valid ports, and validate the result.

    CLI 用法 · Skill 用法

    使用注意

    • 不要把取消节点当作普通分支出口。
    • 清理任务使用新的稳定节点身份。
    • 仍在清理的受管子工作流会阻止父运行结束。