定时任务 API

定时任务的创建、管理、执行历史查询。

定时任务 API

定时任务 API 支持以 cron 表达式、固定间隔或单次执行的方式创建自动化任务,并提供执行历史查询。

获取任务列表

GET /api/admin/schedules

响应示例:

{
  "items": [
    {
      "id": 1,
      "name": "每日站会提醒",
      "trigger_type": "cron",
      "trigger_value": "0 9 * * 1-5",
      "enabled": true,
      "next_run_at": "2025-03-18T09:00:00Z",
      "created_at": "2025-01-10T08:00:00Z"
    }
  ],
  "total": 5
}

创建定时任务

POST /api/admin/schedules

Cron 类型示例:

{
  "name": "周报生成",
  "trigger_type": "cron",
  "trigger_value": "0 18 * * 5",
  "action": "generate_weekly_report",
  "params": {"channel": "feishu"},
  "enabled": true
}

trigger_type 支持三种模式:

  • cron:标准 cron 表达式(如 0 9 * * 1-5 表示工作日早9点)
  • interval:固定间隔执行(如 30m 每30分钟、2h 每2小时)
  • once:单次执行,trigger_value 为 ISO 8601 时间字符串

更新定时任务

PUT /api/admin/schedules/:id

请求体与创建接口一致,仅传入需要修改的字段。

删除定时任务

DELETE /api/admin/schedules/:id

启用/禁用

POST /api/admin/schedules/:id/toggle

切换任务的启用状态。禁用后任务不会被调度执行,但保留配置信息。

立即执行

POST /api/admin/schedules/:id/run

手动触发一次任务执行,不影响后续调度计划。

执行历史

GET /api/admin/schedules/:id/history

响应示例:

{
  "items": [
    {
      "id": 101,
      "schedule_id": 1,
      "status": "success",
      "started_at": "2025-03-17T09:00:00Z",
      "finished_at": "2025-03-17T09:00:12Z",
      "result": "已发送站会提醒至飞书群"
    }
  ],
  "total": 30
}