触发方式
订阅器支持多种触发方式,满足不同的自动化场景需求。
📅 定时计划(Cron)
使用 Cron 表达式定义复杂的执行计划,适合需要在特定时间点执行的任务。
快捷预设
系统提供常用的预设选项:
| 预设 | Cron 表达式 | 说明 |
|---|---|---|
| 每小时 | 0 * * * * | 每小时的第 0 分钟 |
| 每 2 小时 | 0 */2 * * * | 每 2 小时执行一次 |
| 每 6 小时 | 0 */6 * * * | 每 6 小时执行一次 |
| 每天上午 9 点 | 0 9 * * * | 每天 09:00 |
| 每天中午 12 点 | 0 12 * * * | 每天 12:00 |
| 每天下午 6 点 | 0 18 * * * | 每天 18:00 |
| 工作日上午 9 点 | 0 9 * * 1-5 | 周一至周五 09:00 |
| 每周一上午 9 点 | 0 9 * * 1 | 每周一 09:00 |
| 每月 1 日上午 9 点 | 0 9 1 * * | 每月 1 日 09:00 |
自定义配置
执行频率
选择基本频率类型:
| 频率 | 说明 |
|---|---|
| 每小时 | 每隔 N 小时执行 |
| 每天 | 每天在指定时间执行 |
| 每周 | 每周指定日期执行 |
| 每月 | 每月指定日期执行 |
每小时配置
- 间隔小时数:1-12 小时
- 在第几分钟执行:0-59 分钟
示例:每 2 小时的第 30 分钟执行 → 30 */2 * * *
每天配置
- 执行时间:选择小时和分钟
示例:每天 09:30 执行 → 30 9 * * *
每周配置
- 选择星期:可多选周一至周日
- 执行时间:选择小时和分钟
示例:每周一、三、五上午 9 点 → 0 9 * * 1,3,5
每月配置
- 选择日期:1-31 日,或"最后一天"
- 执行时间:选择小时和分钟
示例:每月 1 日和 15 日上午 9 点 → 0 9 1,15 * *
Cron 表达式格式
┌───────────── 分钟 (0-59)
│ ┌───────────── 小时 (0-23)
│ │ ┌───────────── 日期 (1-31)
│ │ │ ┌───────────── 月份 (1-12)
│ │ │ │ ┌───────────── 星期 (0-7, 0和7都是周日)
│ │ │ │ │
* * * * *
特殊字符
| 字符 | 说明 | 示例 |
|---|---|---|
* | 任意值 | * * * * * 每分钟 |
, | 列表 | 0 9,18 * * * 9点和18点 |
- | 范围 | 0 9 * * 1-5 周一至周五 |
/ | 步长 | */15 * * * * 每15分钟 |
时区说明
Cron 表达式使用您的本地时区。系统会在配置界面显示当前时区。
⏱️ 固定间隔(Interval)
按固定时间间隔重复执行,适合需要定期检查或监控的任务。
配置选项
| 选项 | 说明 | 范围 |
|---|---|---|
| 间隔时间 | 数值 | 1-999 |
| 单位 | 时间单位 | 分钟、小时、天 |
示例
| 配置 | 说明 |
|---|---|
| 30 分钟 | 每 30 分钟执行一次 |
| 2 小时 | 每 2 小时执行一次 |
| 1 天 | 每天执行一次 |
与 Cron 的区别
| 特性 | 固定间隔 | Cron |
|---|---|---|
| 配置复杂度 | 简单 | 灵活但复杂 |
| 执行时间 | 相对于上次执行 | 固定时间点 |
| 适用场景 | 监控、轮询 | 定时报告、计划任务 |
🕐 一次性定时(One-time)
在指定的日期和时间执行一次,适合临时任务或一次性需求。
配置选项
使用日期时间选择器选择执行时间:
- 选择日期
- 选择时间(小时和分钟)
使用场景
- 预约发送报告
- 定时提醒
- 临时数据采集
注意事项
- 执行完成后订阅器不会再次触发
- 可以手动再次设置新的执行时间
- 建议执行后检查结果
🔔 事件触发(Event)
通过外部事件触发执行,适合与其他系统集成。
Webhook 触发
接收 HTTP 请求触发执行。
创建 Webhook 订阅器
- 选择触发方式为 事件触发
- 选择事件类型为 Webhook
- 保存订阅器后获取 Webhook URL 和密钥
Webhook 信息
创建后可以获取:
| 信息 | 说明 |
|---|---|
| API 端点 | Webhook URL,用于接收请求 |
| 签名密钥 | HMAC-SHA256 签名密钥(可选) |
调用方式
不带签名的请求:
curl -X POST "https://your-domain/api/v1/webhooks/xxx" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
带签名的请求(推荐):
SECRET="your-webhook-secret"
BODY='{"key": "value"}'
SIGNATURE=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2)
curl -X POST "https://your-domain/api/v1/webhooks/xxx" \
-H "Content-Type: application/json" \
-H "X-Webhook-Signature: sha256=$SIGNATURE" \
-d "$BODY"
使用 Webhook 数据
在 Prompt 模板中使用 {{webhook_data}} 变量获取请求体数据:
收到新的告警通知:
{{webhook_data}}
请分析告警内容并给出处理建议。
Git Push 触发
代码推送时触发执行(开发中)。
配置选项
| 选项 | 说明 |
|---|---|
| 仓库 | Git 仓库地址(owner/repo 格式) |
| 分支 | 监听的分支(可选,默认所有分支) |
使用场景
- 代码提交后自动审查
- 自动运行测试
- 更新文档
💡 选择建议
按场景选择
| 场景 | 推荐触发方式 |
|---|---|
| 每日报告 | 定时计划(Cron) |
| 实时监控 | 固定间隔 |
| 临时任务 | 一次性定时 |
| 系统集成 | Webhook |
| CI/CD | Git Push |
按频率选择
| 频率 | 推荐触发方式 |
|---|---|
| 每分钟级 | 固定间隔 |
| 每小时级 | 固定间隔或 Cron |
| 每天级 | Cron |
| 每周/月级 | Cron |
| 不定时 | Webhook |
⚠️ 注意事项
执行频率限制
- 最小间隔建议不低于 1 分钟
- 高频执行会消耗更多资源
- 考虑任务执行时间,避免重叠
时区问题
- Cron 使用本地时区
- 跨时区协作时注意时间换算
- 系统会显示下次执行时间供确认
Webhook 安全
- 建议使用签名验证
- 妥善保管签名密钥
- 定期轮换密钥