2025-05-12 15:43:21 +08:00
|
|
|
|
# VWED任务记录接口文档
|
|
|
|
|
|
|
|
|
|
本文档描述了VWED系统任务运行记录相关的API接口,主要用于查询任务执行过程中的块运行情况和详情。
|
|
|
|
|
|
|
|
|
|
## 基础信息
|
|
|
|
|
|
|
|
|
|
- 基础路径:`/api/vwed-task-record`
|
|
|
|
|
- 接口标签:`VWED任务运行记录`
|
|
|
|
|
|
|
|
|
|
## 接口清单
|
|
|
|
|
|
|
|
|
|
| 序号 | 接口名称 | 接口路径 | 请求方式 | 接口描述 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| 1 | 获取任务块运行记录 | `/blocks/{task_record_id}` | GET | 获取指定任务记录下的所有块运行情况 |
|
|
|
|
|
| 2 | 获取块记录详情 | `/block/{block_record_id}` | GET | 获取指定块记录的详细信息 |
|
|
|
|
|
| 3 | 终止任务 | `/stop/{task_record_id}` | POST | 停止指定任务记录下的所有运行任务实例 |
|
|
|
|
|
| 4 | 获取任务执行结果 | `/execution/block/results/{task_record_id}` | GET | 获取指定任务记录的执行结果 |
|
|
|
|
|
| 5 | 获取任务记录详情 | `/detail/{task_record_id}` | GET | 获取指定任务记录的详细信息 |
|
2025-09-20 16:50:45 +08:00
|
|
|
|
| 6 | 重发失败任务 | `/retry/{task_record_id}` | POST | 重新执行失败状态的任务记录 |
|
2025-07-14 10:29:37 +08:00
|
|
|
|
| 15 | 设置任务错误状态 | `/set-error/{task_record_id}` | POST | 将指定任务记录及其相关任务块状态设置为错误状态 |
|
2025-05-12 15:43:21 +08:00
|
|
|
|
|
|
|
|
|
## 接口详情
|
|
|
|
|
|
|
|
|
|
### 1. 获取任务块运行记录
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
|
|
|
|
获取指定任务记录下的所有块运行情况,包括每个块的运行状态、执行时间、输入输出参数等信息。
|
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/blocks/{task_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 是 | 任务记录ID,由run_task接口返回的taskRecordId |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
|
|
|
|
成功响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取任务记录 {task_record_id} 的块运行情况",
|
|
|
|
|
"data": [
|
|
|
|
|
{
|
|
|
|
|
"id": "块记录ID",
|
|
|
|
|
"block_name": "块名称",
|
|
|
|
|
"block_id": "块ID",
|
|
|
|
|
"status": 块执行状态码,
|
|
|
|
|
"started_on": "开始时间",
|
|
|
|
|
"ended_on": "结束时间",
|
|
|
|
|
"ended_reason": "结束原因",
|
|
|
|
|
"block_execute_name": "块执行名称",
|
|
|
|
|
"block_input_params_value": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"block_out_params_value": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"remark": "备注"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 500,
|
|
|
|
|
"message": "获取任务块运行情况失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| id | string | 块记录ID |
|
|
|
|
|
| block_name | string | 块名称 |
|
|
|
|
|
| block_id | string | 块ID |
|
|
|
|
|
| status | integer | 块执行状态,1000:执行成功,1001:执行中,1002:未执行,2000:执行失败,2002:取消 |
|
|
|
|
|
| started_on | string | 开始时间,ISO 8601格式 |
|
|
|
|
|
| ended_on | string | 结束时间,ISO 8601格式 |
|
|
|
|
|
| ended_reason | string | 结束原因 |
|
|
|
|
|
| block_execute_name | string | 块执行名称 |
|
|
|
|
|
| block_input_params_value | object | 块输入参数值 |
|
|
|
|
|
| block_out_params_value | object | 块输出参数值 |
|
|
|
|
|
| remark | string | 备注 |
|
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/blocks/7b84fd4d-e947-4ec7-8535-05ede5f8aa9d
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取任务记录 7b84fd4d-e947-4ec7-8535-05ede5f8aa9d 的块运行情况",
|
|
|
|
|
"data": [
|
|
|
|
|
{
|
|
|
|
|
"id": "b5410c81-99b3-4d61-bb79-e54292d012d4",
|
|
|
|
|
"block_name": "-1",
|
|
|
|
|
"block_id": "-1",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"started_on": "2025-04-30T17:28:19.105648",
|
|
|
|
|
"ended_on": "2025-04-30T17:28:19.601597",
|
|
|
|
|
"ended_reason": "执行成功",
|
|
|
|
|
"block_execute_name": "RootBp",
|
|
|
|
|
"block_input_params_value": {},
|
|
|
|
|
"block_out_params_value": null,
|
|
|
|
|
"remark": "执行成功"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "ee29eccd-11e8-490b-ac24-81f243771dda",
|
|
|
|
|
"block_name": "b1",
|
|
|
|
|
"block_id": "1",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"started_on": "2025-04-30T17:28:19.149185",
|
|
|
|
|
"ended_on": "2025-04-30T17:28:19.576944",
|
|
|
|
|
"ended_reason": "执行成功",
|
|
|
|
|
"block_execute_name": "IterateListBp",
|
|
|
|
|
"block_input_params_value": {
|
|
|
|
|
"list": "[1,2,3,4,5]"
|
|
|
|
|
},
|
|
|
|
|
"block_out_params_value": {
|
|
|
|
|
"index": 4,
|
|
|
|
|
"item": 5
|
|
|
|
|
},
|
|
|
|
|
"remark": "执行成功"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "c944c7df-329c-468e-90ed-9e064ddccdbc",
|
|
|
|
|
"block_name": "b2",
|
|
|
|
|
"block_id": "2",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"started_on": "2025-04-30T17:28:19.457166",
|
|
|
|
|
"ended_on": "2025-04-30T17:28:19.488009",
|
|
|
|
|
"ended_reason": "执行成功",
|
|
|
|
|
"block_execute_name": "PrintBp",
|
|
|
|
|
"block_input_params_value": {
|
|
|
|
|
"message": "blocks.b1.item"
|
|
|
|
|
},
|
|
|
|
|
"block_out_params_value": null,
|
|
|
|
|
"remark": "执行成功"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2. 获取块记录详情
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
|
|
|
|
获取指定块记录的详细信息,包括完整的输入输出参数、内部变量等数据。
|
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/block/{block_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| block_record_id | string | 是 | 块记录ID |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
|
|
|
|
成功响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取块记录详情",
|
|
|
|
|
"data": {
|
|
|
|
|
"id": "块记录ID",
|
|
|
|
|
"block_name": "块名称",
|
|
|
|
|
"block_id": "块ID",
|
|
|
|
|
"block_config_id": "块配置ID",
|
|
|
|
|
"block_input_params": {
|
|
|
|
|
"参数名": {
|
|
|
|
|
"type": "参数类型",
|
|
|
|
|
"value": "参数默认值",
|
|
|
|
|
"required": true/false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"block_input_params_value": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"block_out_params_value": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"block_internal_variables": {
|
|
|
|
|
"变量名": "变量值"
|
|
|
|
|
},
|
|
|
|
|
"block_execute_name": "块执行名称",
|
|
|
|
|
"task_id": "任务定义ID",
|
|
|
|
|
"task_record_id": "任务记录ID",
|
|
|
|
|
"started_on": "开始时间",
|
|
|
|
|
"ended_on": "结束时间",
|
|
|
|
|
"ended_reason": "结束原因",
|
|
|
|
|
"status": 块执行状态码,
|
|
|
|
|
"ctrl_status": 控制状态码,
|
|
|
|
|
"input_params": {
|
|
|
|
|
"参数名": {
|
|
|
|
|
"type": "参数类型",
|
|
|
|
|
"value": "参数默认值",
|
|
|
|
|
"required": true/false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"internal_variables": {
|
|
|
|
|
"变量名": "变量值"
|
|
|
|
|
},
|
|
|
|
|
"output_params": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"version": 版本号,
|
|
|
|
|
"remark": "备注"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 404,
|
|
|
|
|
"message": "未找到ID为 {block_record_id} 的块记录"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| id | string | 块记录ID |
|
|
|
|
|
| block_name | string | 块名称 |
|
|
|
|
|
| block_id | string | 块ID |
|
|
|
|
|
| block_config_id | string | 块配置ID |
|
|
|
|
|
| block_input_params | object | 块输入参数定义 |
|
|
|
|
|
| block_input_params_value | object | 块输入参数值 |
|
|
|
|
|
| block_out_params_value | object | 块输出参数值 |
|
|
|
|
|
| block_internal_variables | object | 块内部变量 |
|
|
|
|
|
| block_execute_name | string | 块执行名称 |
|
|
|
|
|
| task_id | string | 任务定义ID |
|
|
|
|
|
| task_record_id | string | 任务记录ID |
|
|
|
|
|
| started_on | string | 开始时间,ISO 8601格式 |
|
|
|
|
|
| ended_on | string | 结束时间,ISO 8601格式 |
|
|
|
|
|
| ended_reason | string | 结束原因 |
|
|
|
|
|
| status | integer | 块执行状态,1000:执行成功,1001:执行中,1002:未执行,2000:执行失败,2002:取消 |
|
|
|
|
|
| ctrl_status | integer | 控制状态 |
|
|
|
|
|
| input_params | object | 输入参数 |
|
|
|
|
|
| internal_variables | object | 内部变量 |
|
|
|
|
|
| output_params | object | 输出参数 |
|
|
|
|
|
| version | integer | 版本号 |
|
|
|
|
|
| remark | string | 备注 |
|
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/block/00b7dc0d-7c23-4dce-ae95-3618f2cad202
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取块记录详情",
|
|
|
|
|
"data": {
|
|
|
|
|
"id": "00b7dc0d-7c23-4dce-ae95-3618f2cad202",
|
|
|
|
|
"block_name": "b1",
|
|
|
|
|
"block_id": "1",
|
|
|
|
|
"block_config_id": "",
|
|
|
|
|
"block_input_params": {
|
|
|
|
|
"keyRoute": {
|
|
|
|
|
"type": "Simple",
|
|
|
|
|
"value": "TK01",
|
|
|
|
|
"required": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"block_input_params_value": {
|
|
|
|
|
"keyRoute": "TK01"
|
|
|
|
|
},
|
|
|
|
|
"block_out_params_value": null,
|
|
|
|
|
"block_internal_variables": {},
|
|
|
|
|
"block_execute_name": "CSelectAgvBp",
|
|
|
|
|
"task_id": "3273c7cb-b4bb-47df-9d47-17f96bc401fc",
|
|
|
|
|
"task_record_id": "5ce20794-2b45-4031-8de0-9df922f91bd1",
|
|
|
|
|
"started_on": "2025-04-30T08:36:37.847431",
|
|
|
|
|
"ended_on": "2025-04-30T08:36:37.959064",
|
|
|
|
|
"ended_reason": "选择执行机器人失败: 执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等",
|
|
|
|
|
"status": 2000,
|
|
|
|
|
"ctrl_status": null,
|
|
|
|
|
"input_params": {
|
|
|
|
|
"keyRoute": {
|
|
|
|
|
"type": "Simple",
|
|
|
|
|
"value": "TK01",
|
|
|
|
|
"required": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"internal_variables": {},
|
|
|
|
|
"output_params": {
|
|
|
|
|
"blocks": {
|
|
|
|
|
"b1": null
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"version": 1,
|
|
|
|
|
"remark": "选择执行机器人失败: 执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 3. 终止任务
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
|
|
|
|
停止指定任务记录下的所有运行任务实例,同时禁用定时任务。
|
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
POST /api/vwed-task-record/stop/{task_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 是 | 任务记录ID |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
|
|
|
|
成功响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "任务终止成功",
|
|
|
|
|
"data": {
|
|
|
|
|
"task_record_id": "任务记录ID",
|
|
|
|
|
"status": 任务状态码,
|
|
|
|
|
"ended_on": "结束时间",
|
|
|
|
|
"ended_reason": "结束原因"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 400,
|
|
|
|
|
"message": "任务终止失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 500,
|
|
|
|
|
"message": "任务记录终止失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 任务记录ID |
|
|
|
|
|
| status | integer | 任务状态码 |
|
|
|
|
|
| ended_on | string | 结束时间,ISO 8601格式 |
|
|
|
|
|
| ended_reason | string | 结束原因 |
|
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
POST /api/vwed-task-record/stop/7b84fd4d-e947-4ec7-8535-05ede5f8aa9d
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "任务终止成功",
|
|
|
|
|
"data": {
|
|
|
|
|
"task_record_id": "7b84fd4d-e947-4ec7-8535-05ede5f8aa9d",
|
|
|
|
|
"status": 2002,
|
|
|
|
|
"ended_on": "2025-04-30T17:35:42.105648",
|
|
|
|
|
"ended_reason": "任务终止"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 4. 获取任务执行结果
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
2025-09-30 13:52:36 +08:00
|
|
|
|
获取指定任务记录的执行结果,按照任务定义的嵌套结构组织,包括已执行和未执行的任务块信息。该接口会解析任务定义中的层级关系,展现真实的任务执行流程。
|
2025-05-12 15:43:21 +08:00
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/execution/block/results/{task_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 是 | 任务记录ID |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
2025-09-30 13:52:36 +08:00
|
|
|
|
成功响应(嵌套结构):
|
2025-05-12 15:43:21 +08:00
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
2025-09-30 13:52:36 +08:00
|
|
|
|
"message": "成功获取任务记录嵌套执行结果",
|
|
|
|
|
"data": {
|
|
|
|
|
"blockId": "-1",
|
|
|
|
|
"blockName": "-1",
|
|
|
|
|
"blockType": "RootBp",
|
|
|
|
|
"blockTypeName": "根节点",
|
|
|
|
|
"level": 0,
|
|
|
|
|
"inputParams": {},
|
|
|
|
|
"executionStatus": 1000,
|
|
|
|
|
"executionRecord": {
|
|
|
|
|
"recordId": "记录ID",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"startedOn": "2025-09-29T17:32:13.393204",
|
|
|
|
|
"endedOn": "2025-09-29T17:32:55.880506",
|
|
|
|
|
"endedReason": "执行成功",
|
|
|
|
|
"inputParamsValue": {},
|
|
|
|
|
"outputParamsValue": null,
|
|
|
|
|
"remark": "执行成功"
|
2025-05-12 15:43:21 +08:00
|
|
|
|
},
|
2025-09-30 13:52:36 +08:00
|
|
|
|
"logs": [
|
|
|
|
|
{
|
|
|
|
|
"logId": "日志ID",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"createdAt": "2025-09-29T17:32:55.873390",
|
|
|
|
|
"message": "分支 default 的所有子块执行完成",
|
|
|
|
|
"output": {
|
|
|
|
|
"executed": true,
|
|
|
|
|
"branch": "default",
|
|
|
|
|
"results": []
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"children": [
|
|
|
|
|
{
|
|
|
|
|
"blockId": "9",
|
|
|
|
|
"blockName": "b5",
|
|
|
|
|
"blockType": "CSelectAgvBp",
|
|
|
|
|
"blockTypeName": "选择执行机器人块",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"inputParams": {
|
|
|
|
|
"keyRoute": {
|
|
|
|
|
"type": "Simple",
|
|
|
|
|
"value": "AP1",
|
|
|
|
|
"required": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"executionStatus": 1000,
|
|
|
|
|
"executionRecord": {
|
|
|
|
|
"recordId": "记录ID",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"startedOn": "2025-09-29T17:32:13.413588",
|
|
|
|
|
"endedOn": "2025-09-29T17:32:55.867389",
|
|
|
|
|
"endedReason": "执行成功",
|
|
|
|
|
"inputParamsValue": {
|
|
|
|
|
"keyRoute": "AP1"
|
|
|
|
|
},
|
|
|
|
|
"outputParamsValue": {
|
|
|
|
|
"selectedAgvId": "Fake-03"
|
|
|
|
|
},
|
|
|
|
|
"remark": "执行成功"
|
|
|
|
|
},
|
|
|
|
|
"logs": [
|
|
|
|
|
{
|
|
|
|
|
"logId": "日志ID",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"createdAt": "2025-09-29T17:32:55.708163",
|
|
|
|
|
"message": "选择机器人块成功, 块id:b5",
|
|
|
|
|
"output": {
|
|
|
|
|
"selectedAgvId": "Fake-03"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"children": [
|
|
|
|
|
{
|
|
|
|
|
"blockId": "10",
|
|
|
|
|
"blockName": "b6",
|
|
|
|
|
"blockType": "PrintBp",
|
|
|
|
|
"blockTypeName": "打印块",
|
|
|
|
|
"level": 2,
|
|
|
|
|
"inputParams": {
|
|
|
|
|
"message": {
|
|
|
|
|
"type": "Simple",
|
|
|
|
|
"value": "test message",
|
|
|
|
|
"required": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"executionStatus": 1006,
|
|
|
|
|
"executionRecord": {
|
|
|
|
|
"recordId": null,
|
|
|
|
|
"status": 1006,
|
|
|
|
|
"startedOn": null,
|
|
|
|
|
"endedOn": null,
|
|
|
|
|
"endedReason": "任务块尚未执行",
|
|
|
|
|
"inputParamsValue": null,
|
|
|
|
|
"outputParamsValue": null,
|
|
|
|
|
"remark": "任务块尚未执行"
|
|
|
|
|
},
|
|
|
|
|
"logs": [],
|
|
|
|
|
"children": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2025-05-12 15:43:21 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 404,
|
2025-09-30 13:52:36 +08:00
|
|
|
|
"message": "未找到任务记录 {task_record_id}"
|
2025-05-12 15:43:21 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 500,
|
|
|
|
|
"message": "获取任务记录执行结果失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
2025-09-30 13:52:36 +08:00
|
|
|
|
| blockId | string | 任务定义中的块ID |
|
|
|
|
|
| blockName | string | 块名称(在执行记录中用于标识) |
|
|
|
|
|
| blockType | string | 块类型(如CSelectAgvBp、PrintBp等) |
|
|
|
|
|
| blockTypeName | string | 块类型中文名称 |
|
|
|
|
|
| level | integer | 嵌套层级,根节点为0,子块递增 |
|
|
|
|
|
| inputParams | object | 任务定义中配置的输入参数 |
|
|
|
|
|
| executionStatus | integer | 执行状态:1000-执行成功,1001-执行中,1006-未执行,2000-执行失败,2001-取消 |
|
|
|
|
|
| executionRecord | object | 执行记录详情 |
|
|
|
|
|
| executionRecord.recordId | string | 执行记录ID,未执行时为null |
|
|
|
|
|
| executionRecord.status | integer | 执行状态码 |
|
|
|
|
|
| executionRecord.startedOn | string | 开始时间,ISO 8601格式,未执行时为null |
|
|
|
|
|
| executionRecord.endedOn | string | 结束时间,ISO 8601格式,未执行时为null |
|
|
|
|
|
| executionRecord.endedReason | string | 结束原因 |
|
|
|
|
|
| executionRecord.inputParamsValue | object | 实际输入参数值 |
|
|
|
|
|
| executionRecord.outputParamsValue | object | 输出参数值 |
|
|
|
|
|
| executionRecord.remark | string | 备注 |
|
|
|
|
|
| logs | array | 执行日志列表 |
|
|
|
|
|
| logs[].logId | string | 日志ID |
|
|
|
|
|
| logs[].level | integer | 日志级别 |
|
|
|
|
|
| logs[].createdAt | string | 日志创建时间,ISO 8601格式 |
|
|
|
|
|
| logs[].message | string | 日志消息 |
|
|
|
|
|
| logs[].output | object | 日志输出内容 |
|
|
|
|
|
| children | array | 子任务块列表,递归结构 |
|
|
|
|
|
|
|
|
|
|
#### 功能特性
|
|
|
|
|
|
|
|
|
|
1. **嵌套结构展示**:按照任务定义的层级关系组织执行结果
|
|
|
|
|
2. **完整性展示**:显示已执行和未执行的任务块
|
|
|
|
|
3. **状态区分**:
|
|
|
|
|
- 1000:执行成功
|
|
|
|
|
- 1001:执行中
|
|
|
|
|
- 1006:未执行(在任务定义中存在但尚未执行到)
|
|
|
|
|
- 2000:执行失败
|
|
|
|
|
- 2001:取消
|
|
|
|
|
4. **详细信息**:每个块包含执行记录、日志和子块信息
|
|
|
|
|
5. **回退兼容**:当无法解析任务定义时,自动回退到平铺模式
|
2025-05-12 15:43:21 +08:00
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
2025-09-30 13:52:36 +08:00
|
|
|
|
GET /api/vwed-task-record/execution/block/results/cdb0a7e1-7fb4-49dd-b1bf-047e38416620
|
2025-05-12 15:43:21 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
2025-09-30 13:52:36 +08:00
|
|
|
|
"message": "成功获取任务记录嵌套执行结果",
|
|
|
|
|
"data": {
|
|
|
|
|
"blockId": "-1",
|
|
|
|
|
"blockName": "-1",
|
|
|
|
|
"blockType": "RootBp",
|
|
|
|
|
"blockTypeName": "根节点",
|
|
|
|
|
"level": 0,
|
|
|
|
|
"inputParams": {},
|
|
|
|
|
"executionStatus": 1000,
|
|
|
|
|
"executionRecord": {
|
|
|
|
|
"recordId": "1db499d9-58b6-46cd-bf98-95a467f7e9b5",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"startedOn": "2025-09-29T17:32:13.393204",
|
|
|
|
|
"endedOn": "2025-09-29T17:32:55.880506",
|
|
|
|
|
"endedReason": "执行成功",
|
|
|
|
|
"inputParamsValue": {},
|
|
|
|
|
"outputParamsValue": null,
|
|
|
|
|
"remark": "执行成功"
|
2025-05-12 15:43:21 +08:00
|
|
|
|
},
|
2025-09-30 13:52:36 +08:00
|
|
|
|
"logs": [
|
|
|
|
|
{
|
|
|
|
|
"logId": "5ce3475a-d177-4e26-8557-459643910a23",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"createdAt": "2025-09-29T17:32:55.873390",
|
|
|
|
|
"message": "分支 default 的所有子块执行完成",
|
|
|
|
|
"output": {
|
|
|
|
|
"executed": true,
|
|
|
|
|
"branch": "default"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"children": [
|
|
|
|
|
{
|
|
|
|
|
"blockId": "9",
|
|
|
|
|
"blockName": "b5",
|
|
|
|
|
"blockType": "CSelectAgvBp",
|
|
|
|
|
"blockTypeName": "选择执行机器人块",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"inputParams": {
|
|
|
|
|
"keyRoute": {
|
|
|
|
|
"type": "Simple",
|
|
|
|
|
"value": "AP1",
|
|
|
|
|
"required": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"executionStatus": 1000,
|
|
|
|
|
"executionRecord": {
|
|
|
|
|
"recordId": "5f64ff67-b320-4d8a-bd63-4e6e58238ec0",
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"startedOn": "2025-09-29T17:32:13.413588",
|
|
|
|
|
"endedOn": "2025-09-29T17:32:55.867389",
|
|
|
|
|
"endedReason": "执行成功",
|
|
|
|
|
"inputParamsValue": {
|
|
|
|
|
"keyRoute": "AP1"
|
|
|
|
|
},
|
|
|
|
|
"outputParamsValue": {
|
|
|
|
|
"selectedAgvId": "Fake-03"
|
|
|
|
|
},
|
|
|
|
|
"remark": "执行成功"
|
|
|
|
|
},
|
|
|
|
|
"logs": [
|
|
|
|
|
{
|
|
|
|
|
"logId": "103007bc-68c3-42bb-aeb0-dae0b0560e13",
|
|
|
|
|
"level": 1,
|
|
|
|
|
"createdAt": "2025-09-29T17:32:55.708163",
|
|
|
|
|
"message": "选择机器人块成功, 块id:b5",
|
|
|
|
|
"output": {
|
|
|
|
|
"selectedAgvId": "Fake-03"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"children": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2025-05-12 15:43:21 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 5. 获取任务记录详情
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
|
|
|
|
获取指定任务记录的详细信息,包括任务的基本信息、执行状态、开始结束时间等。
|
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/detail/{task_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 是 | 任务记录ID |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
|
|
|
|
成功响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取任务记录详情",
|
|
|
|
|
"data": {
|
|
|
|
|
"id": "任务记录ID",
|
|
|
|
|
"task_id": "任务定义ID",
|
|
|
|
|
"task_name": "任务名称",
|
|
|
|
|
"task_version": 任务版本,
|
|
|
|
|
"status": 任务状态码,
|
|
|
|
|
"input_params": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
},
|
|
|
|
|
"started_on": "开始时间",
|
|
|
|
|
"ended_on": "结束时间",
|
|
|
|
|
"ended_reason": "结束原因",
|
|
|
|
|
"execution_time": 执行时长(毫秒),
|
|
|
|
|
"created_at": "创建时间",
|
|
|
|
|
"updated_at": "更新时间",
|
|
|
|
|
"agv_id": "执行任务的AGV设备ID",
|
|
|
|
|
"parent_task_record_id": "父任务记录ID",
|
|
|
|
|
"root_task_record_id": "根任务记录ID",
|
|
|
|
|
"state_description": "状态描述",
|
|
|
|
|
"if_have_child_task": 是否有子任务,
|
|
|
|
|
"periodic_task": 是否为周期任务,
|
|
|
|
|
"priority": 优先级,
|
|
|
|
|
"work_stations": "工作站",
|
|
|
|
|
"work_types": "工作类型",
|
|
|
|
|
"variables": {
|
|
|
|
|
"变量名": "变量值"
|
|
|
|
|
},
|
|
|
|
|
"source_type": 任务来源类型,
|
|
|
|
|
"source_system": "来源系统标识",
|
|
|
|
|
"source_user": "下达任务的用户ID或账号",
|
|
|
|
|
"source_device": "下达任务的硬件设备标识",
|
|
|
|
|
"source_ip": "下达任务的IP地址",
|
|
|
|
|
"source_time": "任务下达时间",
|
|
|
|
|
"source_client_info": "客户端设备信息",
|
|
|
|
|
"source_remarks": "任务来源备注信息"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 404,
|
|
|
|
|
"message": "未找到ID为 {task_record_id} 的任务记录"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 500,
|
|
|
|
|
"message": "获取任务记录详情失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| id | string | 任务记录ID |
|
|
|
|
|
| task_id | string | 任务定义ID(对应def_id字段) |
|
|
|
|
|
| task_name | string | 任务名称(对应def_label字段) |
|
|
|
|
|
| task_version | integer | 任务定义版本(对应def_version字段) |
|
|
|
|
|
| status | integer | 任务状态码,1000:执行成功,1001:执行中,1002:队列中,2000:失败,2001:取消,2002:暂停 |
|
|
|
|
|
| input_params | object | 输入参数,JSON格式 |
|
|
|
|
|
| started_on | string | 开始时间,对应first_executor_time字段,ISO 8601格式 |
|
|
|
|
|
| ended_on | string | 结束时间,ISO 8601格式 |
|
|
|
|
|
| ended_reason | string | 结束原因 |
|
|
|
|
|
| execution_time | integer | 执行时长(毫秒),根据开始和结束时间计算或executor_time字段值 |
|
|
|
|
|
| created_at | string | 创建时间,ISO 8601格式 |
|
|
|
|
|
| updated_at | string | 更新时间,ISO 8601格式 |
|
|
|
|
|
| agv_id | string | 执行任务的AGV设备ID |
|
|
|
|
|
| parent_task_record_id | string | 父任务记录ID |
|
|
|
|
|
| root_task_record_id | string | 根任务记录ID |
|
|
|
|
|
| state_description | string | 状态描述 |
|
|
|
|
|
| if_have_child_task | boolean | 是否有子任务 |
|
|
|
|
|
| periodic_task | integer | 是否为周期任务,0:否,1:是 |
|
|
|
|
|
| priority | integer | 优先级,数值越大优先级越高 |
|
|
|
|
|
| work_stations | string | 工作站 |
|
|
|
|
|
| work_types | string | 工作类型 |
|
|
|
|
|
| variables | object | 变量信息,JSON格式 |
|
|
|
|
|
| source_type | integer | 任务来源类型(1:系统调度,2:呼叫机,3:第三方系统,4:手持电脑) |
|
|
|
|
|
| source_system | string | 来源系统标识(如:WMS、MES等系统编号) |
|
|
|
|
|
| source_user | string | 下达任务的用户ID或账号 |
|
|
|
|
|
| source_device | string | 下达任务的硬件设备标识(设备ID、MAC地址等) |
|
|
|
|
|
| source_ip | string | 下达任务的IP地址 |
|
|
|
|
|
| source_time | string | 任务下达时间,ISO 8601格式 |
|
|
|
|
|
| source_client_info | string | 客户端设备信息(用户代理、浏览器、操作系统等) |
|
|
|
|
|
| source_remarks | string | 任务来源备注信息 |
|
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
GET /api/vwed-task-record/detail/7b84fd4d-e947-4ec7-8535-05ede5f8aa9d
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "成功获取任务记录详情",
|
|
|
|
|
"data": {
|
|
|
|
|
"id": "7b84fd4d-e947-4ec7-8535-05ede5f8aa9d",
|
|
|
|
|
"task_id": "3273c7cb-b4bb-47df-9d47-17f96bc401fc",
|
|
|
|
|
"task_name": "示例任务",
|
|
|
|
|
"task_version": 2,
|
|
|
|
|
"status": 1000,
|
|
|
|
|
"input_params": {
|
|
|
|
|
"from": "A",
|
|
|
|
|
"to": "B"
|
|
|
|
|
},
|
|
|
|
|
"started_on": "2025-04-30T17:28:19.105648",
|
|
|
|
|
"ended_on": "2025-04-30T17:28:20.601597",
|
|
|
|
|
"ended_reason": "执行成功",
|
|
|
|
|
"execution_time": 1496,
|
|
|
|
|
"created_at": "2025-04-30T17:28:19.100000",
|
|
|
|
|
"updated_at": "2025-04-30T17:28:20.610000",
|
|
|
|
|
"agv_id": "AGV001",
|
|
|
|
|
"parent_task_record_id": null,
|
|
|
|
|
"root_task_record_id": "7b84fd4d-e947-4ec7-8535-05ede5f8aa9d",
|
|
|
|
|
"state_description": "任务已完成",
|
|
|
|
|
"if_have_child_task": false,
|
|
|
|
|
"periodic_task": 0,
|
|
|
|
|
"priority": 1,
|
|
|
|
|
"work_stations": "WS001",
|
|
|
|
|
"work_types": "运输任务",
|
|
|
|
|
"variables": {
|
|
|
|
|
"position": {"x": 100, "y": 200}
|
|
|
|
|
},
|
|
|
|
|
"source_type": 1,
|
|
|
|
|
"source_system": "WMS",
|
|
|
|
|
"source_user": "admin",
|
|
|
|
|
"source_device": "PC-001",
|
|
|
|
|
"source_ip": "192.168.1.100",
|
|
|
|
|
"source_time": "2025-04-30T17:28:18.000000",
|
|
|
|
|
"source_client_info": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
|
|
|
|
|
"source_remarks": "测试任务"
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-07-14 10:29:37 +08:00
|
|
|
|
```
|
|
|
|
|
|
2025-09-20 16:50:45 +08:00
|
|
|
|
### 6. 重发失败任务
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
|
|
|
|
|
重新执行失败状态的任务记录。该接口用于重新执行状态为失败(status=2000)的任务记录,系统会使用原任务的输入参数重新启动任务。
|
|
|
|
|
|
|
|
|
|
#### 请求路径
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
POST /api/vwed-task-record/retry/{task_record_id}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 是否必须 | 描述 |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| task_record_id | string | 是 | 失败的任务记录ID |
|
|
|
|
|
|
|
|
|
|
#### 响应结果
|
|
|
|
|
|
|
|
|
|
成功响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "任务重发成功",
|
|
|
|
|
"data": {
|
|
|
|
|
"original_task_record_id": "原任务记录ID",
|
|
|
|
|
"new_task_record_id": "新任务记录ID",
|
|
|
|
|
"new_task_id": "任务定义ID",
|
|
|
|
|
"retry_time": "重发时间",
|
|
|
|
|
"original_task_name": "原任务名称",
|
|
|
|
|
"original_input_params": {
|
|
|
|
|
"参数名": "参数值"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
失败响应:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 404,
|
|
|
|
|
"message": "未找到任务记录 {task_record_id}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 400,
|
|
|
|
|
"message": "任务状态为 {status},只能重发失败状态(2000)的任务"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 500,
|
|
|
|
|
"message": "重发任务失败: {错误信息}"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应字段说明
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 描述 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| original_task_record_id | string | 原始失败的任务记录ID |
|
|
|
|
|
| new_task_record_id | string | 重发后生成的新任务记录ID |
|
|
|
|
|
| new_task_id | string | 任务定义ID |
|
|
|
|
|
| retry_time | string | 重发时间,ISO 8601格式 |
|
|
|
|
|
| original_task_name | string | 原始任务名称 |
|
|
|
|
|
| original_input_params | object | 原始任务的输入参数 |
|
|
|
|
|
|
|
|
|
|
#### 功能说明
|
|
|
|
|
|
|
|
|
|
1. 检查任务记录是否存在
|
|
|
|
|
2. 验证任务状态必须为失败状态(2000)
|
|
|
|
|
3. 使用原任务的输入参数重新启动任务
|
|
|
|
|
4. 保持原有的来源系统信息
|
|
|
|
|
5. 在备注中标记为重发任务
|
|
|
|
|
6. 返回新生成的任务记录信息
|
|
|
|
|
|
|
|
|
|
#### 注意事项
|
|
|
|
|
|
|
|
|
|
- 只能重发失败状态(status=2000)的任务
|
|
|
|
|
- 重发时会使用原任务的所有输入参数
|
|
|
|
|
- 重发后会生成新的任务记录ID
|
|
|
|
|
- 原任务记录状态不会改变
|
|
|
|
|
- 如果任务定义不存在,重发会失败
|
|
|
|
|
|
|
|
|
|
#### 示例
|
|
|
|
|
|
|
|
|
|
请求示例:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
POST /api/vwed-task-record/retry/7b84fd4d-e947-4ec7-8535-05ede5f8aa9d
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
响应示例:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"code": 200,
|
|
|
|
|
"message": "任务重发成功",
|
|
|
|
|
"data": {
|
|
|
|
|
"original_task_record_id": "7b84fd4d-e947-4ec7-8535-05ede5f8aa9d",
|
|
|
|
|
"new_task_record_id": "8c95ge5e-f058-5fd8-9646-16fef6g9bb0e",
|
|
|
|
|
"new_task_id": "3273c7cb-b4bb-47df-9d47-17f96bc401fc",
|
|
|
|
|
"retry_time": "2025-09-19T10:30:15.123456",
|
|
|
|
|
"original_task_name": "示例任务",
|
|
|
|
|
"original_input_params": {
|
|
|
|
|
"from": "A",
|
|
|
|
|
"to": "B"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-14 10:29:37 +08:00
|
|
|
|
### 15. 设置任务错误状态
|
|
|
|
|
|
|
|
|
|
#### 接口说明
|
|
|
|
|
将指定任务记录及其相关任务块状态设置为错误状态
|
|
|
|
|
|
|
|
|
|
#### 请求信息
|
|
|
|
|
- **URL**: `/api/vwed-task-record/set-error/{task_record_id}`
|
|
|
|
|
- **Method**: `POST`
|
|
|
|
|
- **Content-Type**: `application/json`
|
|
|
|
|
|
|
|
|
|
#### 路径参数
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|--------|------|------|------|
|
|
|
|
|
| task_record_id | string | 是 | 任务记录ID |
|
|
|
|
|
|
|
|
|
|
#### 请求体参数
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|
|
|
|
|
|--------|------|------|------|------|
|
|
|
|
|
| error_reason | string | 是 | 错误原因 | "系统异常导致任务失败" |
|
|
|
|
|
|
|
|
|
|
#### 请求示例
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"error_reason": "系统异常导致任务失败"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 响应示例
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"success": true,
|
|
|
|
|
"message": "任务状态设置为错误成功",
|
|
|
|
|
"data": {
|
|
|
|
|
"task_record_id": "123456",
|
|
|
|
|
"task_status": 2000,
|
|
|
|
|
"error_reason": "系统异常导致任务失败",
|
|
|
|
|
"ended_on": "2024-01-01T12:00:00",
|
|
|
|
|
"updated_blocks_count": 5,
|
|
|
|
|
"updated_blocks": [
|
|
|
|
|
{
|
|
|
|
|
"block_id": "block_001",
|
|
|
|
|
"block_name": "数据处理",
|
|
|
|
|
"status": 2000
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 状态码说明
|
|
|
|
|
- **200**: 成功
|
|
|
|
|
- **400**: 请求参数错误
|
|
|
|
|
- **404**: 任务记录不存在
|
|
|
|
|
- **500**: 服务器内部错误
|
|
|
|
|
|
|
|
|
|
#### 功能说明
|
|
|
|
|
1. 如果任务正在运行,会先尝试取消任务
|
|
|
|
|
2. 将任务状态设置为失败状态(2000)
|
|
|
|
|
3. 将所有未完成的任务块状态设置为失败状态(2000)
|
|
|
|
|
4. 记录错误原因和结束时间
|
|
|
|
|
5. 返回更新的任务块数量和详细信息
|
|
|
|
|
|
|
|
|
|
#### 注意事项
|
|
|
|
|
- 只有未完成的任务块(非成功或失败状态)才会被更新
|
|
|
|
|
- 已经完成或失败的任务块不会被重复更新
|
|
|
|
|
- 如果任务记录不存在,会返回404错误
|