首批通过分布式安全可靠测评,为关键业务系统打造
重试任务
更新时间:2023-08-10 11:45:58
功能说明
触发任务所有失败子任务的重新执行。
调用说明
接口约束
调用者需要具备 TASK_MANAGER 权限。
请求路径
POST /api/v2/tasks/instances/{taskInstanceId}/retry
请求参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| taskInstanceId | Long | 是 | 1000 | 任务实例 ID |
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | WrappedTaskInstance 对象请求的数据。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace ID,用于排查问题。 |
| server | String | 响应请求的应用服务的地址。 |
WrappedTaskInstance 的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| id | Long | 软件包 ID |
| name | String | 软件包名称 |
| taskDefinitionId | Long | 任务定义 ID |
| ├─ cluster | Object | 集群信息 |
| ├─ id | Long | 集群在 OCP 的集群 ID |
| ├─ name | String | 集群名称 |
| ├─ obClusterId | Long | 集群在 OceanBase 集群中的集群 ID |
| ├─ type | String | 集群类型,有如下类型: * PRIMARY:主集群 * STANDBY:备集群 |
| ├─ tenant | Object | 租户信息 |
| ├─ id | Long | 租户 ID |
| ├─ name | String | 租户名称 |
| ├─ obClusterId | Long | 租户在 OceanBase 集群中的租户 ID |
| ├─ mode | String | 租户模式,有如下模式: * ORACLE:Oracle 兼容模式 * MYSQL:MySQL 兼容模式 |
| ├─ creator | Object | 任务创建者信息 |
| ├─ id | Long | 创建者用户 ID |
| ├─ name | String | 创建者用户名 |
| status | Integer | 任务执行状态,有如下可选值: * RUNNING:执行中 * FAILED:执行失败 * SUCCESSFUL:执行成功 |
| type | String | 任务类型,有如下可选值: * MANUAL:手动发起的运维任务 * SYS_ONECE:系统执行的单次任务 * SCHEDULED:非内置的定时执行任务 * SYS_SCHEDULED:系统内置定时执行任务 |
| operation | String | 任务操作,有如下几种操作: * EXECUTE:正常执行 * RETRY:重试 * ROLLBACK:回滚 * SKIP:跳过 * CANCEL:取消 |
| executor | String | 执行任务的主机信息 |
| prohibitRollback | Boolean | 是否允许回滚 |
| subtasks | ObjectArray | SubtaskInstance 数组子任务汇总信息 |
| createTime | String | 任务创建时间 |
| startTime | String | 任务开始时间 |
| finishTime | String | 任务结束时间 |
SubtaskInstance 的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| id | Long | 子任务实例 ID |
| name | String | 子任务名称 |
| seriesId | Long | 子任务序列 ID |
| description | String | 子任务描述信息 |
| timeout | Integer | 子任务超时时间,单位秒 |
| status | String | 子任务状态,有如下几种状态: * PENDING:初始态,等待上游节点执行完成 * READY:准备中,依赖节点已经执行完成,等待执行 * RUNNING:执行中 * CANCELING:取消中 * FAILED:终态,执行失败 * SUCCESSFUL:终态:执行成功 |
| operation | String | 子任务操作,有如下集中操作: * EXECUTE:正常执行 * RETRY:重试 * ROLLBACK:回滚 * SKIP:跳过 * CANCEL:取消 |
| executor | String | 子任务执行节点信息 |
| runTime | Integer | 子任务执行次数 |
| nodeType | String | 节点类型,如 JAVA_TASK |
| paralleIdx | Integer | 并行子任务索引值,-1 为非并行子任务 |
| upstreams | LongArray | 上游子任务 ID 列表 |
| downstream | LongArray | 下游子任务 ID 列表 |
| prohibitRollback | Boolean | 子任务是否支持回滚 |
| createTime | String | 子任务创建时间 |
| startTime | String | 子任务开始时间 |
| finishTime | String | 子任务结束时间 |
示例
请求示例
POST /api/v2/tasks/instances/100/retry
返回示例
{
"data": {
"createTime": "2021-08-25T15:09:31+08:00",
"creator": {
"id": 100,
"name": "admin"
},
"executor": "xx.xx.xx.xx",
"finishTime": "2021-08-25T15:09:54.067+08:00",
"id": 35000312,
"name": "Reinstall OCP agent",
"operation": "EXECUTE",
"prohibitRollback": false,
"startTime": "2021-08-25T15:09:31.74+08:00",
"status": "SUCCESSFUL",
"subtasks": [
{
"createTime": "2021-08-25T15:09:31+08:00",
"description": "Install ocp agent",
"downstreams": [
13000334
],
"executor": "xx.xx.xx.xx",
"finishTime": "2021-08-25T15:09:52.182+08:00",
"id": 13000336,
"name": "Install ocp agent",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 0,
"startTime": "2021-08-25T15:09:36.821+08:00",
"status": "SUCCESSFUL",
"timeout": 5400,
"upstreams": [
13000333
]
},
{
"createTime": "2021-08-25T15:09:31+08:00",
"description": "Finish reinstalling OCP agent",
"downstreams": [],
"executor": "xx.xx.xx.xx",
"finishTime": "2021-08-25T15:09:53.252+08:00",
"id": 13000334,
"name": "Finish reinstalling OCP agent",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 1,
"startTime": "2021-08-25T15:09:53.062+08:00",
"status": "SUCCESSFUL",
"timeout": 60,
"upstreams": [
13000336
]
},
{
"createTime": "2021-08-25T15:09:31+08:00",
"description": "Uninstall ocp agent",
"downstreams": [
13000336
],
"executor": "xx.xx.xx.xx",
"finishTime": "2021-08-25T15:09:35.626+08:00",
"id": 13000333,
"name": "Uninstall ocp agent",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 2,
"startTime": "2021-08-25T15:09:33.732+08:00",
"status": "SUCCESSFUL",
"timeout": 1800,
"upstreams": [
13000335
]
},
{
"createTime": "2021-08-25T15:09:31+08:00",
"description": "Prepare reinstalling OCP agent",
"downstreams": [
13000333
],
"executor": "xx.xx.xx.xx",
"finishTime": "2021-08-25T15:09:33.082+08:00",
"id": 13000335,
"name": "Prepare reinstalling OCP agent",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 3,
"startTime": "2021-08-25T15:09:32.688+08:00",
"status": "SUCCESSFUL",
"timeout": 60,
"upstreams": []
}
],
"taskDefinitionId": -1,
"type": "MANUAL"
},
"duration": 55,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2021-08-25T15:10:13.176+08:00",
"traceId": "0bc49000675d41af"
}