Skip to content

定时任务 ​

数据库定时任务的配置、立即执行和执行日志查询。任务处理器必须由后端预先注册。

查询定时任务列表 ​

接口地址 ​

text
GET /admin/scheduled_task/list

接口参数说明 ​

Query 参数类型必填说明
keywordstring否任务名称或处理器标识
statusinteger否

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 0,
      "name": "",
      "handler": "",
      "cron_expression": "",
      "payload": "",
      "status": 1,
      "timeout_seconds": 0,
      "remark": "",
      "last_run_at": "2026-09-25T10:00:00+08:00",
      "last_status": 0,
      "last_error": "",
      "next_run_at": "2026-09-25T10:00:00+08:00",
      "created_at": "2026-09-25T10:00:00+08:00",
      "updated_at": "2026-09-25T10:00:00+08:00"
    }
  ]
}

响应参数说明 ​

响应字段类型说明
data[].idinteger
data[].namestring任务名称
data[].handlerstring后端注册的安全任务处理器标识
data[].cron_expressionstring6段Cron表达式(秒 分 时 日 月 周),兼容已有5段表达式
data[].payloadstringJSON格式任务参数
data[].statusinteger1启用,2停用
data[].timeout_secondsinteger
data[].remarkstring
data[].last_run_atstring
data[].last_statusinteger0未执行,1成功,2失败,3跳过
data[].last_errorstring
data[].next_run_atstring
data[].created_atstring
data[].updated_atstring

查询允许配置的任务处理器与Cron示例 ​

接口地址 ​

text
GET /admin/scheduled_task/options

接口参数说明 ​

无请求参数。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "handlers": [
      {
        "value": "",
        "label": "",
        "description": "",
        "example": ""
      }
    ],
    "cron_examples": [
      {
        "label": "",
        "value": ""
      }
    ]
  }
}

响应参数说明 ​

响应字段类型说明
handlersarray<ScheduledTaskHandlerOption>
handlers[].valuestring后端处理器稳定标识
handlers[].labelstring管理端显示名称
handlers[].descriptionstring处理器用途
handlers[].examplestringJSON参数示例
cron_examplesarray<ScheduledTaskCronExample>
cron_examples[].labelstring周期说明
cron_examples[].valuestring六段Cron表达式

新增或修改定时任务 ​

接口地址 ​

text
POST /admin/scheduled_task/save

接口说明 ​

保存成功后管理端服务立即热刷新调度配置。Cron支持秒级六段格式以及字段内逗号多选、范围和步长,并兼容已有五段格式。

接口参数说明 ​

Body 参数类型必填说明
idinteger否0表示新增
namestring是
handlerstring是
cron_expressionstring是
payloadstring是
statusinteger是
timeout_secondsinteger是
remarkstring否

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 0,
    "name": "",
    "handler": "",
    "cron_expression": "",
    "payload": "",
    "status": 1,
    "timeout_seconds": 0,
    "remark": "",
    "last_run_at": "2026-09-25T10:00:00+08:00",
    "last_status": 0,
    "last_error": "",
    "next_run_at": "2026-09-25T10:00:00+08:00",
    "created_at": "2026-09-25T10:00:00+08:00",
    "updated_at": "2026-09-25T10:00:00+08:00"
  }
}

响应参数说明 ​

响应字段类型说明
idinteger
namestring任务名称
handlerstring后端注册的安全任务处理器标识
cron_expressionstring6段Cron表达式(秒 分 时 日 月 周),兼容已有5段表达式
payloadstringJSON格式任务参数
statusinteger1启用,2停用
timeout_secondsinteger
remarkstring
last_run_atstring
last_statusinteger0未执行,1成功,2失败,3跳过
last_errorstring
next_run_atstring
created_atstring
updated_atstring

删除定时任务 ​

接口地址 ​

text
POST /admin/scheduled_task/delete

接口说明 ​

软删除任务配置并保留历史执行日志。

接口参数说明 ​

Body 参数类型必填说明
idinteger是主键ID

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": null
}

响应参数说明 ​

成功时 data 为 null。

立即异步执行任务 ​

接口地址 ​

text
POST /admin/scheduled_task/run

接口参数说明 ​

Body 参数类型必填说明
idinteger是主键ID

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": null
}

响应参数说明 ​

成功时 data 为 null。

分页查询任务执行日志 ​

接口地址 ​

text
GET /admin/scheduled_task/log/list

接口参数说明 ​

Query 参数类型必填说明
task_idinteger是
statusinteger否
pageinteger否页码,默认 1
page_sizeinteger否每页数量,默认 20,最大 100

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "list": [
      {
        "id": 0,
        "task_id": 0,
        "task_name": "",
        "handler": "",
        "status": 1,
        "started_at": "2026-09-25T10:00:00+08:00",
        "finished_at": "2026-09-25T10:00:00+08:00",
        "duration_ms": 0,
        "error_message": ""
      }
    ],
    "total": 0
  }
}

响应参数说明 ​

响应字段类型说明
listarray<ScheduledTaskLogItem>
list[].idinteger
list[].task_idinteger
list[].task_namestring执行时的任务名称快照
list[].handlerstring执行时的处理器标识快照
list[].statusinteger1成功,2失败,3跳过
list[].started_atstring
list[].finished_atstring
list[].duration_msinteger执行耗时毫秒
list[].error_messagestring失败或跳过原因
totalinteger