FlowGram Runtime 提供了五个核心 API,用于工作流的验证、运行、监控、结果获取和取消。本文档详细介绍了这些 API 的使用方法、参数和返回值。
TaskRun API 用于启动一个工作流任务,接收工作流 schema 和初始输入,返回任务 ID。
TaskRun API 接收一个 TaskRunInput
对象作为参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
schema | string | 是 | 工作流 schema 的 JSON 字符串,定义了工作流的节点和边 |
inputs | object | 否 | 工作流的初始输入参数,可以为空 |
schema
参数是一个 JSON 字符串,定义了工作流的结构,包括节点和边的信息。schema 的基本结构如下:
TaskRun API 返回一个 TaskRunOutput
对象:
字段名 | 类型 | 描述 |
---|---|---|
taskID | string | 任务的唯一标识符,用于后续查询任务状态和结果 |
TaskRun API 可能会抛出以下错误:
TaskReport API 用于获取工作流任务的执行报告,包括任务状态和各节点的执行状态。
TaskReport API 接收一个 TaskReportInput
对象作为参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
taskID | string | 是 | 任务的唯一标识符,由 TaskRun API 返回 |
TaskReport API 返回一个 TaskReportOutput
对象,包含任务的执行报告:
字段名 | 类型 | 描述 |
---|---|---|
workflow | WorkflowStatus | 工作流整体状态 |
nodes | Record<string, NodeStatus> | 各节点的执行状态 |
WorkflowStatus
结构如下:
NodeStatus
结构如下:
TaskReport API 可能会遇到以下错误情况:
workflow.terminated
为 false),则工作流仍在执行中TaskCancel API 用于取消正在执行的工作流任务。
TaskCancel API 接收一个 TaskCancelInput
对象作为参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
taskID | string | 是 | 任务的唯一标识符,由 TaskRun API 返回 |
TaskCancel API 返回一个 TaskCancelOutput
对象:
字段名 | 类型 | 描述 |
---|---|---|
success | boolean | 表示任务是否成功取消 |
TaskCancel API 可能会遇到以下错误情况:
{ success: false }
TaskResult API 用于获取工作流任务的最终结果。
TaskResult API 接收一个 TaskResultInput
对象作为参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
taskID | string | 是 | 任务的唯一标识符,由 TaskRun API 返回 |
TaskResult API 返回一个 WorkflowOutputs
对象,包含工作流的输出结果:
返回的对象结构取决于工作流的具体实现和输出定义。
TaskResult API 可能会遇到以下错误情况:
TaskValidate API 用于验证工作流 schema 和输入参数的有效性,在实际运行工作流之前检查配置是否正确。这个 API 可以帮助您在启动工作流之前发现潜在的配置错误。
TaskValidate API 接收一个 TaskValidateInput
对象作为参数:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
schema | string | 是 | 工作流 schema 的 JSON 字符串,定义了工作流的节点和边 |
inputs | object | 否 | 工作流的初始输入参数,用于验证输入是否符合 schema 要求 |
TaskValidate API 返回一个 TaskValidateOutput
对象:
字段名 | 类型 | 描述 |
---|---|---|
valid | boolean | 表示验证是否通过,true 表示验证成功,false 表示验证失败 |
errors | string[] | 可选字段,当验证失败时包含具体的错误信息列表 |
TaskValidate API 会对以下内容进行验证:
TaskValidate API 可能会返回以下类型的验证错误: