datai/docs/archive/api-docs/integration/DataiIntegrationObjectController/0010-query-progress.md

3.9 KiB
Raw Blame History

查询指定对象的同步进度

接口信息

  • 接口名称: 查询指定对象的同步进度
  • 接口路径: /integration/object/progress/{id}
  • 请求方法: GET
  • 接口描述: 该方法用于查询指定对象的同步进度信息。进度信息包括对象ID、同步类型、总批次数量、已处理批次数量、当前批次、进度百分比、开始时间、结束时间、状态、错误信息。如果同步任务已完成或失败进度信息会被清除此时无法查询到进度信息。

请求参数

路径参数

参数名 类型 必填 说明
id Integer 对象ID用于标识需要查询同步进度的对象

请求示例

GET /integration/object/progress/123

响应参数

响应格式

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "objectId": 123,
    "syncType": "FULL",
    "totalBatches": 10,
    "processedBatches": 5,
    "currentBatch": 5,
    "progressPercentage": 50,
    "startTime": "2026-01-16 10:00:00",
    "endTime": null,
    "status": "RUNNING",
    "errorMessage": null
  }
}

响应字段说明

字段名 类型 说明
code Integer 响应状态码200表示成功其他表示失败
msg String 响应消息,成功时返回"操作成功",失败时返回错误信息
data Object 响应数据,包含同步进度信息
data.objectId Integer 对象ID
data.syncType String 同步类型FULL/INCREMENTAL
data.totalBatches Integer 总批次数量
data.processedBatches Integer 已处理批次数量
data.currentBatch Integer 当前批次
data.progressPercentage Integer 进度百分比0-100
data.startTime String 开始时间格式yyyy-MM-dd HH:mm:ss
data.endTime String 结束时间格式yyyy-MM-dd HH:mm:ss同步进行中时为null
data.status String 状态RUNNING/COMPLETED/FAILED
data.errorMessage String 错误信息同步成功时为null

响应示例(失败)

{
  "code": 500,
  "msg": "未找到同步进度信息",
  "data": null
}

权限要求

  • 权限标识: integration:object:progress
  • 说明: 需要登录认证,且用户需要具有查询对象同步进度的权限

业务规则

  1. 如果对象ID为空返回错误信息"对象ID不能为空"
  2. 如果未找到同步进度信息(同步任务已完成或失败),返回错误信息"未找到同步进度信息"
  3. 进度信息存储在内存中,系统重启后进度信息丢失
  4. 同步任务完成后立即清除进度信息,不保留历史记录

异常处理

异常场景 响应码 响应消息
对象ID为空 500 对象ID不能为空
未找到同步进度信息 500 未找到同步进度信息
查询进度时发生异常 500 查询对象同步进度时发生异常: [异常信息]

使用场景

  1. 用户触发对象同步后,通过该接口查询同步进度
  2. 前端页面定时轮询该接口,实时显示同步进度
  3. 管理员监控多个对象的同步进度

注意事项

  1. 进度信息仅在同步进行中存在,同步完成后会被清除
  2. 如果查询到进度信息,说明同步正在进行中
  3. 如果未查询到进度信息,说明同步已完成或失败,或者从未触发过同步
  4. 进度百分比计算公式progressPercentage = (processedBatches / totalBatches) * 100

相关接口