关联外部任务 flow.child-operation
外部任务节点把其他系统拥有的长任务引用写入历史,例如渲染作业、数据导入、批处理或云端构建。它只登记关系,不启动、不轮询,也不等待外部任务。需要 Flow 管理完整启动、终态和取消传播时,应使用子工作流节点。
引用字段
reference_id 是父运行内稳定的引用身份,通常与图节点 ID 保持清楚对应。kind 说明宿主定义的任务类别,operation_id 使用外部系统实际分配的身份。flow_run_id 可选,用于关联另一个 Flow 运行。metadata 只放小型、非敏感且便于检查的信息,例如租户内可见的资源类型或对象引用。
引用事件提交后,控制从 linked 继续,child 数据端口提供结构化引用。后续状态查询、结果收集和取消需要显式连接任务、Hook 或信号节点。图中不应假设登记成功代表外部任务已经成功,也不能根据画布节点状态伪造外部进展。
所有权与检查
宿主需要验证外部任务确实存在、调用者有权引用,并控制哪些元数据可以写入历史。测试应覆盖重复登记、错误 operation ID、外部任务已经结束、引用系统暂时不可用和进程恢复。监控页面应清楚区分已关联、正在执行、已经结束和无法查询,不能把引用事件当成结果事件。
用它登记由其他系统拥有的长任务,例如渲染、导入或外部批处理。节点只保存引用,不会启动或等待该任务。
运行方式
引用提交后从 linked 端口继续。后续轮询、取消和结果收集需要单独的步骤、Hook 或信号节点。
节点契约
- 类型
flow.child-operation- 角色
- 持久运行命令
- 运行绑定
link_child_operation- 持久身份
- 图节点 ID
配置属性
| 属性 | 类型与控件 | 默认值 | 规则 |
|---|---|---|---|
reference_id关联记录 ID | strStrInput | child | 在当前工作流中保持唯一。重复执行时使用同一个 ID。必填 |
kind任务类型 | strStrInput | operation | 填写接入应用使用的任务分类,例如 export 或 deployment。必填 |
operation_id外部任务 ID | strStrInput | operation-1 | 填写外部系统返回的任务标识。必填 |
flow_run_id关联的 Flow 运行 ID | strStrInput | "" | 外部任务由另一个 Flow 运行创建时,可以在这里建立关联。可选 · 高级设置 |
metadata附加数据 | dictJSONInput | {} | 保存查询外部任务时需要的标签或 JSON 数据。可选 · 高级设置 |
端口
| 方向 | 端口 ID | 种类 | 数据类型 |
|---|---|---|---|
| 输入 | in进入 | control | FlowControl |
| 输出 | linked关联完成 | control | FlowControl |
节点 JSON 示例
CLI 会用 manifest 默认值生成同样的节点结构。画布位置、标题和选中状态属于展示数据。
CLI 用法
先查看当前安装版本的 manifest,再创建节点并验证完整工作流。所有命令输出 JSON。
Skill 用法
安装包内附带 a3s-flow Skill。它会先查询 CLI 的节点清单,再创建、校验、编译并计算语义摘要。
使用注意
- reference_id 在父运行内保持稳定。
- operation_id 使用外部所有者分配的真实身份。
- 需要完整父子生命周期时改用子工作流。
