FlowGram Runtime API 参考
FlowGram Runtime 提供了五个核心 API,用于工作流的验证、运行、监控、结果获取和取消。本文档详细 介绍了这些 API 的使用方法、参数和返回值。
TaskRun API
功能描述
TaskRun API 用于启动一个工作流任务,接收工作流 schema 和初始输入,返回任务 ID。
参数说明
TaskRun API 接收一个 TaskRunInput 对象作为参数:
schema 参数是一个 JSON 字符串,定义了工作流的结构,包括节点和边的信息。schema 的基本结构如下:
返回值说明
TaskRun API 返回一个 TaskRunOutput 对象:
错误处理
TaskRun API 可能会抛出以下错误:
- Schema 解析错误:当提供的 schema 不是有效的 JSON 字符串时
- Schema 结构错误:当 schema 结构不符合预期格式时
- 节点类型错误:当 schema 中包含不支持的节点类型时
- 初始化错误:当工作流初始化失败时
使用示例
注意事项
- schema 必须是有效的 JSON 字符串,且符合 WorkflowSchema 的结构
- 工作流必须包含一个起始节点(type: 'start')和一个结束节点(type: 'end')
- 节点之间的连接必须通过边(edges)正确定义
- 任务启动后会异步执行,可以通过 TaskReport API 和 TaskResult API 获取执行状态和结果
TaskReport API
功能描述
TaskReport API 用于获取工作流任务的执行报告,包括任务状态和各节点的执行状态。
参数说明
TaskReport API 接收一个 TaskReportInput 对象作为参数:
返回值说明
TaskReport API 返回一个 TaskReportOutput 对象,包含任务的执行报告:
WorkflowStatus 结构如下:
NodeStatus 结构如下:
错误处理
TaskReport API 可能会遇到以下错误情况:
- 任务不存在:当提供的 taskID 不存在时,返回 undefined
- 报告生成错误:当报告生成过程中出现错误时
使用示例
注意事项
- 任务报告是实时的,可以多次调用 TaskReport API 来获取最新的执行状态
- 如果工作流尚未终止(
workflow.terminated为 false),则工作流仍在执行中 - 节点状态可能为 'idle'(未开始)、'processing'(执行中)、'success'(成功)、'fail'(失败)或 'canceled'(已取消)
- 建议定期轮询任务报告,以监控工作流的执行进度
TaskCancel API
功能描述
TaskCancel API 用于取消正在执行的工作流任务。
参数说明
TaskCancel API 接收一个 TaskCancelInput 对象作为参数:
返回值说明
TaskCancel API 返回一个 TaskCancelOutput 对象:
错误处理
TaskCancel API 可能会遇到以下错误情况:
- 任务不存在:当提供的 taskID 不存在时,返回
{ success: false } - 任务已完成:当任务已经完成或已经取消时,无法再次取消