批量重试工作流作业

针对一个调度作业批量重试指定执行,或重试该调度作业下的全部失败执行。接口接受请求不表示全部作业已执行完成。

POST https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/{workflow_id}/executions/batch-retry

调用前准备

查询工作流作业列表,确认要重试的调度作业和执行范围。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $WORKFLOW_ID:作业所属的工作流 ID。

  • $SOURCE_DISPATCH_JOB_ID:源调度作业 ID。对于 volume-trigger 工作流,使用启动接口响应中的 data.workflow_run.execution_id;不要使用单个文件执行 ID。

execution_idsall_failed: true 必须二选一:前者重试指定执行,后者重试源调度作业中的全部失败执行。

路径参数

参数

类型

说明

workflow_id

string

工作流 ID。

请求体

字段

类型

是否必填

说明

source_dispatch_job_id

string

源调度作业 ID。

request_id

string

本次批量请求的唯一标识。

execution_ids

string(字符串数组)

要重试的执行 ID 列表。

all_failed

boolean

是否重试源调度作业下的全部失败执行。

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/$WORKFLOW_ID/executions/batch-retry" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "source_dispatch_job_id": "'"$SOURCE_DISPATCH_JOB_ID"'",
    "all_failed": true,
    "request_id": "<REQUEST_ID>"
  }'

成功响应

成功时返回 200data 返回本次批量重试的受理情况;replayedtrue 表示服务识别为同一请求的重复提交。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "source_dispatch_job_id": "dispatch-source-001",
    "dispatch_job_id": "dispatch-retry-001",
    "status": "waiting",
    "accepted_count": 1,
    "replayed": false
  }
}

响应字段如下。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.source_dispatch_job_id

string

源调度作业 ID。

data.dispatch_job_id

string

本次批量重试创建或复用的调度作业 ID。

data.status

string

批量重试请求的当前状态。

data.accepted_count

integer

本次接受重试的执行数。

data.replayed

boolean

是否为同一 request_id 的重复请求。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

请求体无效、缺少 source_dispatch_job_idrequest_id,或 execution_idsall_failed 的组合无效。

检查请求体并只选择一种重试范围。

401

ErrUnauthorized

凭据缺失或无效。

检查 API Key。

403

ErrForbidden

当前身份没有运行权限。

使用有权限的凭据,或联系管理员授权。

404

ErrNotFound

工作流或源调度作业不存在。

检查路径参数和 source_dispatch_job_id

409

ErrConflict

请求与已有批量重试操作冲突。

使用新的 request_id,或等待当前操作结束。

500

ErrServer

服务端无法创建批量重试。

记录请求时间和错误信息后重试。

503

ErrServiceUnavailable

依赖服务不可用。

稍后重试。

后续操作

查询工作流作业列表查看重试作业的执行情况。

最后更新于