定时任务配置

设好闹钟,AI按时干活 —— 不用你盯着

定时执行自动化Cron

这个 Skill 干嘛用的?

设好时间,AI 按时干活 —— 不用你盯着、不用你手动触发,到点就自动跑。

每天早上 8 点生成早报、每周五下午出周报、每隔 2 小时检查一次服务器状态 —— 把重复的事情交给定时任务,你只管看结果就行。

这是自动化的最后一块拼图。有了它,其他所有 Skill 和 Task 都可以无人值守运行。

没有定时任务的自动化

你配好了早报模板、配好了通知推送,每天早上还是得手动跑一遍。说好的「自动化」呢?每天记得打开电脑、点一下运行、等结果 —— 这跟没自动化有什么区别?少了定时任务这一环,所有自动化都只是半自动。

模板一:每日定时任务

最常见的场景 —— 每天固定时间执行一个任务。早报、数据同步、日志清理都适用。

每日定时任务 · Skill 模板 SKILL
## SKILL: 每日定时执行

### 功能描述
每天在指定时间自动执行任务,支持时区配置。

### 配置示例
- 每天 08:00 执行早报任务
- 每天 18:00 生成日报摘要
- 每天 23:00 清理临时文件

### 执行流程
1. 到达设定时间,自动启动
2. 按顺序执行关联的 Task
3. 调用 Notification Skill 推送结果
4. 记录执行日志(成功/失败/耗时)

### 异常处理
- 执行失败:自动重试(最多 3 次)
- 重试仍失败:发送错误通知
- 执行超时:终止并报告
- 错过执行时间(机器关机等):下次启动时补执行

模板二:工作日执行

有些事只在工作日干 —— 周末发工作通知谁看啊。这个模板自动跳过周末和节假日。

工作日执行 · Skill 模板 SKILL
## SKILL: 工作日定时执行

### 功能描述
仅在工作日执行的定时任务,自动跳过周末和配置的节假日。

### 配置示例
- 工作日 09:00 发送团队早会提醒
- 工作日 17:30 汇总今日工作进展
- 每周五 16:00 生成本周周报

### 日历规则
- 默认跳过周六、周日
- 支持配置节假日列表(手动或接 API)
- 支持调休日(周末上班)特殊处理
- 支持多时区团队(按成员时区分别触发)

### 适用场景
- 团队日报/周报自动生成
- 工作日数据同步
- 工作日站会提醒

模板三:间隔执行

不按固定时间,而是每隔一段时间执行一次。监控、健康检查、数据采集用这个。

间隔执行 · Skill 模板 SKILL
## SKILL: 间隔定时执行

### 功能描述
按固定时间间隔循环执行任务,适合监控和轮询场景。

### 配置示例
- 每 30 分钟检查一次服务器状态
- 每 2 小时抓取一次竞品价格
- 每 6 小时同步一次数据

### 执行策略
- 固定间隔:上次执行完成后等待 N 分钟再执行
- 固定频率:不管上次多久,严格按间隔触发
- 退避策略:连续失败时自动延长间隔

### 防重复机制
- 上一次还没执行完时不启动新的
- 执行锁:避免多实例同时运行
- 心跳检测:确认执行器还活着

### 适用场景
- 服务监控和健康检查
- 竞品价格追踪
- 数据增量同步

skill_config 配置参考

定时任务的核心是 cron 表达式。别慌,下面有速查:

定时任务 skill_config
skill_config:
  name: "scheduler"
  description: "定时任务调度"
  version: "1.0"

  schedules:
    daily_briefing:
      cron: "0 8 * * *"          # 每天 08:00
      timezone: "Asia/Shanghai"
      task: "task-daily-briefing"
      notify_on_complete: true

    weekday_report:
      cron: "0 17 * * 1-5"       # 工作日 17:00
      timezone: "Asia/Shanghai"
      task: "task-daily-summary"
      skip_holidays: true

    weekly_review:
      cron: "0 16 * * 5"         # 每周五 16:00
      timezone: "Asia/Shanghai"
      task: "task-weekly-review"

    health_check:
      interval: "30m"            # 每 30 分钟
      task: "task-health-check"
      notify_on_failure: true    # 只在失败时通知

  settings:
    max_concurrent: 3            # 最多同时运行 3 个任务
    execution_timeout: 300       # 单任务最长 5 分钟
    retry_on_failure: 3
    retry_delay: 60              # 重试间隔 60 秒
    catch_up: false              # 错过的任务不补执行

  permissions:
    - schedule_tasks
    - trigger_tasks

  error_handling:
    on_failure: "通知管理员并记录日志"
    on_timeout: "终止任务并通知"
    max_consecutive_failures: 5  # 连续失败 5 次后暂停调度
📅 Cron 表达式速查:「分 时 日 月 周」五个字段。* 表示每一个,1-5 表示周一到周五,*/2 表示每隔 2 个。举几个例子 —— 「0 8 * * *」= 每天 8 点,「0 */2 * * *」= 每 2 小时,「0 9 * * 1-5」= 工作日 9 点,「0 0 1 * *」= 每月 1 号零点。

相关资源

定时任务是自动化的调度中心,搭配这些使用:

这篇模板对你有帮助吗?