从指定节点重新运行¶
从已执行作业的指定节点创建一个重新运行分支。创建成功不表示分支已完成;请查询重新运行详情确认状态。
POST https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/{workflow_id}/executions/{execution_id}/nodes/{node_key}/reruns
调用前准备¶
先查询节点重新运行计划,并保存其 rerun_contract_hash 和需要时的节点执行 ID。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。
下方示例使用:
$AI_STUDIO_API_KEY:实际个人访问令牌,通过X-API-KeyHeader 传递。$WORKSPACE_ID:目标工作区 ID,通过X-Workspace-IDHeader 传递。$WORKFLOW_ID:作业所属的工作流 ID。$EXECUTION_ID:源作业执行 ID。$NODE_KEY:要作为重新运行起点的节点键。$RERUN_CONTRACT_HASH:重新运行计划返回的契约哈希,用于避免使用过期计划。
路径参数¶
参数 |
类型 |
说明 |
|---|---|---|
|
string |
工作流 ID。 |
|
string |
源作业 ID。 |
|
string |
要作为重新运行起点的节点键。 |
请求体¶
字段 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
重新运行模式;必须取自计划的 |
|
string |
否 |
选定的源节点执行 ID。 |
|
string |
否 |
计划返回的契约哈希,用于避免使用过期计划。 |
|
object |
否 |
运行时输入覆盖值。 |
|
object |
否 |
节点配置覆盖值。 |
|
string |
否 |
重新运行原因。 |
请求示例¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workflow-apps/$WORKFLOW_ID/executions/$EXECUTION_ID/nodes/$NODE_KEY/reruns" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"mode": "continue_from_node",
"expected_rerun_contract_hash": "'"$RERUN_CONTRACT_HASH"'"
}'
成功响应¶
成功时返回 200。data.rerun 返回新分支;保存 data.rerun.rerun_id,用于查询分支状态。
{
"code": "OK",
"msg": "OK",
"data": {
"rerun": {
"rerun_id": "rerun-001",
"branch_id": "branch-001",
"case_id": "case-001",
"source_execution_id": "exec-001",
"node_key": "root.load",
"source_node_execution_id": "node-exec-001",
"mode": "continue_from_node",
"status": "running"
}
}
}
响应字段如下。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
string |
重新运行 ID。 |
|
string |
新分支 ID。 |
|
string |
新分支的案例 ID。 |
|
string |
源作业 ID。 |
|
string |
重新运行起点的节点键。 |
|
string |
源节点执行 ID。 |
|
string |
实际使用的重新运行模式。 |
|
string |
新分支状态。 |
|
string |
启动时的错误信息;仅在有值时返回。 |
|
string |
刷新时的错误信息;仅在有值时返回。 |
错误响应¶
{
"code": "contract_drift_detected",
"msg": "重新运行计划已变化",
"data": null
}
常见 HTTP 错误¶
HTTP 状态码 |
错误代码 |
常见原因 |
建议操作 |
|---|---|---|---|
|
|
请求体无效、未提供模式,或模式不在计划允许范围内。 |
重新读取计划并按 |
|
|
凭据缺失或无效。 |
检查 API Key。 |
|
|
当前身份没有运行权限。 |
使用有权限的凭据,或联系管理员授权。 |
|
|
工作流、作业或节点不存在。 |
检查路径参数。 |
|
|
计划已变化,或指定的源节点执行与当前作业不匹配。 |
重新获取计划并使用其候选项和契约哈希。 |
|
|
节点不允许重新运行,或配置覆盖不受支持。 |
按校验结果调整节点或移除不支持的覆盖。 |
|
|
服务端无法创建重新运行。 |
记录请求时间和错误信息后重试。 |
|
|
依赖服务不可用。 |
稍后重试。 |
后续操作¶
查询工作流重新运行详情确认分支状态。