定时调度
定时调度让你为 Bot 创建定时任务,按计划自动执行任务或触发工作流。
概述
定时调度解决的问题:很多操作需要定期执行——每天检查服务器状态、每周生成报告、每小时同步数据。手动触发既繁琐又容易遗忘。
定时调度支持两种目标类型:
- 任务(Task):定时向 Bot 发送一条指令,Bot 自主执行
- 工作流(Workflow):定时触发一个工作流执行
创建定时任务
- 进入 Bot 详情页 → 定时任务 Tab
- 点击 创建
- 填写配置
基本配置
| 字段 | 说明 |
|---|---|
| 名称 | 调度任务名称(如”每日巡检”) |
| 执行频率 | 定时规则(可视化配置或高级 Cron 模式) |
| 时区 | 基准时区(上海、UTC、纽约、伦敦) |
| 指令 | 触发时发送给 Bot 的指令文本 |
执行频率配置
平台提供可视化频率选择器,无需手写 Cron 表达式。选择频率类型后,按提示设置时间参数即可。
频率类型
| 频率 | 配置项 | 示例 |
|---|---|---|
| 每小时 | 选择分钟(0-59) | 每小时第 30 分钟执行 |
| 每天 | 选择小时 + 分钟 | 每天 09:00 执行 |
| 每周 | 勾选星期 + 选择小时 + 分钟 | 每周一、三、五 09:00 执行 |
| 每月 | 选择日期 + 小时 + 分钟 | 每月 1 号 00:00 执行 |
配置完成后,页面会实时显示:
- 频率描述:自动生成的可读文字(如”每天 09:00”)
- 接下来 3 次执行时间:预览未来的执行时间点
高级模式
如果预设频率不满足需求,开启高级模式开关,可以直接输入标准 5 位 Cron 表达式:
分 时 日 月 周
常用 Cron 示例:
| Cron 表达式 | 含义 |
|---|---|
0 9 * * 1-5 | 工作日上午 9:00 |
*/15 * * * * | 每 15 分钟 |
0 */2 * * * | 每 2 小时 |
0 9,18 * * * | 每天 9:00 和 18:00 |
可视化模式和高级模式可以互相切换。如果 Cron 表达式能用可视化方式表达,切换到可视化模式时会自动还原配置;否则会保持高级模式。
目标类型
任务模式(默认):
指定一条指令,调度触发时 Bot 将执行此指令:
检查所有生产服务器的磁盘使用率,如果超过 80% 发出告警。
工作流模式:
选择一个已激活的工作流,调度触发时自动执行该工作流。
管理定时任务
在 Bot 详情页的 定时任务 Tab 中管理所有调度任务。
任务列表
列表展示每个调度任务的:
- 名称
- 执行频率:可读的频率描述(鼠标悬停可查看原始 Cron 表达式)
- 指令摘要
- 上次执行时间
- 下次执行时间
- 状态:启用 / 禁用
操作
- 启用/禁用:通过开关暂停或恢复调度
- 编辑:修改频率、指令等配置
- 删除:移除调度任务
- 查看执行历史:查看该调度任务的历史执行记录
执行历史
每次调度触发都会记录执行信息:
- 触发时间
- 执行状态(成功 / 失败)
- 关联的 Task 或 Workflow Execution ID
Bot 自建定时任务
如果在 Bot 设置中开启了 自建定时任务 功能,Bot 可以在对话中自行创建、查看和删除定时任务。
例如,用户可以在对话中说:“帮我创建一个定时任务,每天上午 9 点检查服务器状态。“Bot 会调用内置的调度工具来创建。
Bot 自建的定时任务也会出现在 Bot 详情页的定时任务 Tab 中。
常见用法
日报/周报生成
- 频率:每周 → 周一至周五 → 18:00
- 指令:汇总今天的任务执行情况,生成日报并发送到 #ops 频道。
服务器健康检查
- 频率:高级模式
*/15 * * * *(每 15 分钟) - 指令:检查所有生产服务器的 CPU、内存和磁盘使用率。
定时触发工作流
- 频率:每天 → 02:00
- 目标类型:工作流
- 选择工作流:数据备份工作流
常见问题
调度任务没有触发
- 确认调度任务处于”启用”状态
- 确认频率配置和时区设置正确
- 确认 Bot 处于活跃状态且未暂停
调度任务执行失败
在执行历史中查看失败原因。常见原因包括:
- Bot 的 LLM 提供商配置无效
- 月度预算已耗尽
- 绑定的资源凭据过期
如何设置只执行一次的任务
可视化频率选择器不支持”只执行一次”。替代方案:
- 使用高级模式设置一个未来的具体时间(如
30 14 15 3 *= 3 月 15 日 14:30),执行后手动禁用 - 使用 API 直接创建 Task,而非通过调度