运行时模型
运行时负责管理已编译图的完整生命周期,并记录足够的执行证据,让你可以检查运行过程,在暂停或进程重启后也能安全继续。
核心记录
- Run 记录生命周期状态、图标识、修订版本、时间信息和失败详情。
- Event 记录有序的执行证据,例如节点完成和检查点创建。
- Checkpoint 保存稳定执行边界上的可恢复状态。
- Artifact 保存与 Run 关联的较大输出或诊断材料。
Run 生命周期
Run 从指定的 Graph Session 和初始状态开始。运行时依次推进节点、应用经过验证的状态补丁、发布事件,并在配置的边界创建检查点。
Run 可以完成、失败、取消,也可以因断点或用户输入而暂停。恢复前会验证检查点是否与图契约兼容。
正常生命周期如下:
text
Session → 创建 Run → 执行 Steps → 持久化 Checkpoints/Events → 完成 | 失败 | 暂停 | 取消
↓
从检查点恢复即使失败路由继续执行备用节点,失败的 Step 仍会保留,便于区分原始错误和恢复结果。
可预测的状态更新
节点通过补丁返回状态变更。顺序补丁按执行次序应用;只有当并行分支写入互不重叠,或使用已注册且合并语义稳定的 reducer 时, 运行时才会合并这些补丁。
检查运行
使用 Workbench 或调试服务器 API 查看 Run 摘要,并分页读取 Events、Checkpoints、Artifacts 和选定的状态快照。 本地配置方式参见 Workbench。
恢复与副作用
检查点恢复的是业务状态和执行位置,并不会让外部副作用自动具备事务性。写入 API、队列或文件系统时,应使用幂等键 或显式的 effect-resolution 步骤,避免重试导致重复操作。副作用结果未知时,恢复前先检查 Events。
内存 Runner 与持久化 Runner
weaveflow.NewInMemoryRunner 适合测试和短示例;weaveflow.NewLocalRunner 会将执行、检查点、事件、制品和事务记录持久化 到目录中,并支持进程重启后继续运行。调试服务器使用配置的运行时存储,遵循同一套生命周期模型。