定时消息
定时消息功能允许您设置定时发送的消息任务,系统会按照设定的 Cron 表达式自动执行发送。
功能概述
定时消息允许您:
- ✅ 创建定时发送任务
- ✅ 使用 Cron 表达式设置执行时间
- ✅ 关联发信任务进行发送
- ✅ 启用/禁用定时任务
- ✅ 立即执行定时任务
- ✅ 查看执行日志
创建定时消息
步骤
- 进入"定时消息"页面
- 点击"新增定时消息"按钮
- 填写定时消息信息
- 点击"创建定时消息"保存
配置项
| 字段 | 说明 | 必填 |
|---|---|---|
| 定时消息名称 | 定时任务的名称 | 是 |
| 关联发信任务 | 选择要使用的发信任务 | 是 |
| Cron 表达式 | 定时执行的时间规则 | 是 |
| 标题 | 消息标题 | 是 |
| 内容 | 消息内容 | 是 |
| url | 可选的 URL 链接 | 否 |
重要提示
请确保所选的发信任务已配置至少一个发送实例,否则无法发送消息。
Cron 表达式
Cron 表达式用于设置定时任务的执行时间,格式为:分 时 日 月 周
常用模板
系统提供了常用的 Cron 表达式模板,点击即可应用:
| 模板 | Cron 表达式 | 说明 |
|---|---|---|
| 每分钟 | * * * * * | 每分钟执行一次 |
| 每5分钟 | */5 * * * * | 每5分钟执行一次 |
| 每小时 | 0 * * * * | 每小时整点执行 |
| 每天凌晨2点 | 0 2 * * * | 每天凌晨2点执行 |
| 每周一凌晨2点 | 0 2 * * 1 | 每周一凌晨2点执行 |
| 每月1号凌晨2点 | 0 2 1 * * | 每月1号凌晨2点执行 |
Cron 表达式格式
* * * * *
│ │ │ │ │
│ │ │ │ └─ 星期 (0-7, 0和7都表示周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)特殊字符
*- 匹配任意值,- 列举多个值,如1,3,5-- 范围,如1-5/- 步长,如*/5表示每5个单位
示例
0 9 * * * # 每天上午9点
0 9-17 * * * # 每天9点到17点的整点
0 9,12,18 * * * # 每天9点、12点、18点
*/30 9-17 * * * # 每天9点到17点,每30分钟
0 9 * * 1-5 # 周一到周五的上午9点
0 0 1,15 * * # 每月1号和15号的凌晨管理定时消息
查看定时消息列表
在"定时消息"页面可以看到所有定时消息:
| 列 | 说明 |
|---|---|
| ID | 定时消息的唯一标识 |
| 名称 | 定时消息名称(可点击查看完整内容) |
| 内容 | 消息内容(可点击查看完整内容) |
| Cron表达式 | 定时执行的时间规则 |
| 关联任务 | 关联的发信任务 ID |
| 下次执行时间 | 下一次计划执行的时间 |
| 创建时间 | 定时消息创建时间 |
| 操作 | 操作按钮和启用/禁用开关 |
定时消息操作
查看日志
- 点击定时消息的"日志"按钮
- 查看该定时消息的执行记录
- 可以查看发送成功/失败的详细信息
编辑定时消息
- 点击定时消息的"编辑"按钮
- 在弹出的对话框中修改信息
- 可以点击"立即发送"测试发送
- 点击"更新定时消息"保存修改
删除定时消息
- 点击定时消息的"删除"按钮
- 确认删除操作
- 定时消息将被删除,不再执行
启用/禁用定时消息
- 点击定时消息行的开关按钮
- 禁用的定时消息不会自动执行
- 可以随时重新启用
立即发送
在编辑定时消息时,可以点击"立即发送"按钮立即执行一次发送,用于测试定时消息配置是否正确。
搜索定时消息
在定时消息列表页面的搜索框中输入任务名称,可以快速筛选定时消息。
使用场景
场景 1:每日报表推送
需求: 每天早上9点自动发送前一天的业务报表
配置:
- 定时消息名称:每日业务报表
- 关联发信任务:报表推送任务
- Cron 表达式:
0 9 * * * - 标题:每日业务报表
- 内容:前一天的业务数据统计
场景 2:周会提醒
需求: 每周一上午9点提醒团队周会
配置:
- 定时消息名称:周会提醒
- 关联发信任务:团队通知任务
- Cron 表达式:
0 9 * * 1 - 标题:周会提醒
- 内容:今天上午10点周会,请准时参加
场景 3:系统巡检
需求: 每小时检查系统状态并发送报告
配置:
- 定时消息名称:系统巡检
- 关联发信任务:系统告警任务
- Cron 表达式:
0 * * * * - 标题:系统巡检报告
- 内容:系统运行正常
场景 4:月度账单
需求: 每月1号凌晨发送上月账单
配置:
- 定时消息名称:月度账单
- 关联发信任务:账单推送任务
- Cron 表达式:
0 2 1 * * - 标题:月度账单
- 内容:上月账单详情
工作流程
mermaid
graph LR
A[创建定时消息] --> B[设置 Cron 表达式]
B --> C[关联发信任务]
C --> D[启用定时消息]
D --> E[系统定时检查]
E --> F{到达执行时间?}
F -->|是| G[调用发信任务]
F -->|否| E
G --> H[发送消息]
H --> I[记录日志]
I --> E最佳实践
1. Cron 表达式设置
- ✅ 使用系统提供的常用模板
- ✅ 避免设置过于频繁的执行(如每分钟)
- ✅ 选择系统低峰期执行(如凌晨)
- ✅ 测试 Cron 表达式是否正确
2. 发信任务配置
- ✅ 确保关联的发信任务已配置实例
- ✅ 测试发信任务是否能正常发送
- ✅ 为重要消息配置多个渠道
- ✅ 使用有意义的任务名称
3. 消息内容
- ✅ 标题简洁明了
- ✅ 内容清晰完整
- ✅ 提供必要的链接(url 字段)
- ✅ 使用立即发送测试内容
4. 监控和维护
- ✅ 定期查看执行日志
- ✅ 及时处理发送失败的情况
- ✅ 禁用不再需要的定时消息
- ✅ 定期检查下次执行时间是否正确
5. 性能优化
- ✅ 避免在同一时间执行大量定时任务
- ✅ 合理设置执行频率
- ✅ 对于大量消息,考虑分批发送
- ✅ 监控系统资源使用情况
常见问题
Q: 定时消息没有执行怎么办?
A:
- 检查定时消息是否已启用(开关是否打开)
- 检查 Cron 表达式是否正确
- 查看下次执行时间是否符合预期
- 检查关联的发信任务是否配置了实例
- 查看日志是否有错误信息
Q: 如何测试定时消息配置是否正确?
A:
- 编辑定时消息
- 点击"立即发送"按钮
- 查看是否成功发送
- 检查日志中的发送记录
Q: Cron 表达式如何设置?
A:
- 使用系统提供的常用模板
- 参考 Cron 表达式格式说明
- 使用在线 Cron 表达式生成器
- 通过立即发送测试是否正确
Q: 定时消息发送失败怎么办?
A:
- 查看日志中的错误信息
- 检查关联的发信任务配置
- 确认发信任务的渠道是否正常
- 检查消息内容是否符合要求
- 尝试立即发送测试
Q: 可以暂停定时消息吗?
A: 可以。点击定时消息行的开关按钮禁用,定时消息将不再自动执行。需要时可以重新启用。
Q: 定时消息和发信任务有什么关系?
A: 定时消息需要关联一个发信任务,定时消息只负责定时触发,实际的消息发送由关联的发信任务完成。发信任务决定了消息发送到哪些渠道。
注意事项
重要提示
- 关联任务配置 - 确保关联的发信任务已配置至少一个发送实例
- Cron 表达式 - 设置前请仔细检查,避免执行时间错误
- 执行频率 - 避免设置过于频繁的执行,影响系统性能
- 消息内容 - 定时消息的内容是固定的,不支持动态内容
- 启用状态 - 创建后记得启用定时消息,否则不会执行