datai/docs/archive/api-docs/monitor/SysJobController/0008-delete-job.md

3.5 KiB
Raw Blame History

接口文档 - 删除定时任务

接口信息

  • 接口名称: 删除定时任务
  • 接口路径: /monitor/job/{jobIds}
  • 请求方法: DELETE
  • 模块归属: 定时任务管理
  • 版本号: v1.0
  • 创建日期: 2026-01-13
  • 最后更新: 2026-01-13

功能描述

删除一个或多个定时任务,删除后会从数据库和 Quartz 调度器中移除该任务。支持批量删除多个任务。

请求参数

路径参数

参数名 类型 必填 描述 示例
jobIds Long[] 任务ID数组多个ID用逗号分隔 1,2,3

响应数据

成功响应

HTTP 状态码: 200 OK

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

失败响应

HTTP 状态码: 500 Internal Server Error

{
  "code": 500,
  "msg": "删除失败",
  "data": null
}
错误码 错误信息 描述
500 删除失败 删除任务时发生错误
403 没有权限访问 当前用户没有 monitor:job:remove 权限

接口示例

请求示例

# 删除单个任务
curl -X DELETE "http://localhost:8080/monitor/job/1" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."

# 批量删除多个任务
curl -X DELETE "http://localhost:8080/monitor/job/1,2,3" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."

响应示例

成功:

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

失败:

{
  "code": 500,
  "msg": "删除失败",
  "data": null
}

错误处理

  • 当任务ID不存在时跳过该任务继续删除其他任务
  • 当用户没有 monitor:job:remove 权限时,返回 403 错误
  • 删除失败时返回 500 错误
  • 删除操作会被记录在系统日志中

注意事项

  • 需要登录认证
  • 需要 monitor:job:remove 权限
  • 支持批量删除多个任务
  • 删除操作不可逆,请谨慎操作
  • 删除后会从数据库中移除任务记录
  • 删除后会从 Quartz 调度器中移除任务
  • 删除正在执行的任务不会中断当前执行
  • 删除任务会同时删除相关的执行日志
  • 删除操作会被记录在系统日志中

相关接口

实现细节

  • 通过 ISysJobService.deleteJobByIds() 方法删除任务
  • 支持批量删除传入任务ID数组
  • 删除前会从 Quartz 调度器中移除任务
  • 删除后会从数据库中删除任务记录
  • 删除操作是原子性的,要么全部成功要么全部失败
  • 使用 @Log 注解记录删除操作
  • 删除失败时会抛出 SchedulerException 或 TaskException

测试信息

测试环境

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

测试用例

测试场景 输入参数 预期结果 实际结果 状态
删除单个任务 jobIds=1 删除成功 删除成功 通过
批量删除多个任务 jobIds=1,2,3 删除成功 删除成功 通过
删除不存在的任务 jobIds=9999 跳过该任务 跳过该任务 通过
无权限访问 无权限用户 返回403错误 返回403错误 通过