datai/datai-scenes/datai-scene-salesforce/docs/api-docs/monitor/SysJobController/0007-run-job.md
Kris ccc7109c31 feat(salesforce-integration): 完善实时同步和统计功能
主要变更:
- 新增实时同步日志统计接口,支持多维度统计(综合、对象、操作类型、状态、时间趋势)
- 新增实时同步统计接口,提供服务状态、对象统计和订阅统计
- 实现实时服务手动启动管理,移除自动启动注解
- 移除所有统计相关功能(EventProcessor、DataSynchronizer统计方法)
- 解决DataiIntegrationObjectServiceImpl和ObjectRegistryImpl循环依赖问题
- 完善元数据变更统计功能,支持自动时间范围和缺失数据点填充
- 修复SQL布尔值兼容性问题(true/false改为1/0)
- 新增SysJobController和SysJobLogController接口文档
- 更新项目文档和变更日志

技术细节:
- 添加@Lazy注解解决循环依赖
- 实现时间趋势统计的自动时间范围处理
- 支持多种时间单位(天、周、月、季度)的趋势分析
- 优化同步成功率计算和数据处理完整性
- 遵循项目文档规范,更新唯一真源
2026-01-13 13:51:33 +08:00

3.5 KiB
Raw Permalink Blame History

接口文档 - 定时任务立即执行一次

接口信息

  • 接口名称: 定时任务立即执行一次
  • 接口路径: /monitor/job/run
  • 请求方法: PUT
  • 模块归属: 定时任务管理
  • 版本号: v1.0
  • 创建日期: 2026-01-13
  • 最后更新: 2026-01-13

功能描述

立即执行指定的定时任务一次不受任务当前状态和Cron表达式的限制。该接口用于手动触发任务执行常用于测试或紧急执行场景。

请求参数

请求体 (JSON)

{
  "jobId": 1
}
参数名 类型 必填 描述 示例
jobId Long 任务ID 1

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "msg": "操作成功"
}
字段名 类型 描述 示例
code Integer 响应码 200
msg String 响应消息 操作成功

失败响应

HTTP 状态码: 500 Internal Server Error

{
  "code": 500,
  "msg": "任务不存在或已过期!",
  "data": null
}
错误码 错误信息 描述
500 任务不存在或已过期 指定的任务ID不存在或任务已过期
403 没有权限访问 当前用户没有 monitor:job:changeStatus 权限

接口示例

请求示例

curl -X PUT "http://localhost:8080/monitor/job/run" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{
    "jobId": 1
  }'

响应示例

成功:

{
  "code": 200,
  "msg": "操作成功"
}

失败:

{
  "code": 500,
  "msg": "任务不存在或已过期!",
  "data": null
}

错误处理

  • 当任务ID不存在时返回 500 错误
  • 当任务已过期时,返回 500 错误
  • 当用户没有 monitor:job:changeStatus 权限时,返回 403 错误
  • 立即执行操作会被记录在系统日志中

注意事项

  • 需要登录认证
  • 需要 monitor:job:changeStatus 权限
  • jobId 必须是有效的任务ID
  • 立即执行不受任务当前状态影响(暂停状态也可以执行)
  • 立即执行不受Cron表达式限制
  • 立即执行是异步操作,不会阻塞当前请求
  • 立即执行会在后台线程中执行
  • 立即执行不会影响任务的正常调度
  • 立即执行会生成执行日志
  • 操作会被记录在系统日志中

相关接口

实现细节

  • 通过 ISysJobService.run() 方法触发任务执行
  • 使用 Quartz 的 triggerJob() 方法立即触发任务
  • 立即执行不会改变任务的调度计划
  • 立即执行会在独立的线程中执行
  • 执行结果会记录在任务日志中
  • 使用 @Log 注解记录立即执行操作
  • 即使任务处于暂停状态也可以立即执行

测试信息

测试环境

  • 环境: 开发环境
  • 版本: v1.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
正常执行 jobId=1 任务立即执行 任务立即执行 通过
执行暂停的任务 jobId=暂停的任务 任务立即执行 任务立即执行 通过
任务不存在 jobId=9999 返回500错误 返回500错误 通过
无权限访问 无权限用户 返回403错误 返回403错误 通过