分布式任务调度
在实际项目中,经常需要执行定时任务,比如每天执行的数据统计或清理,定时执行状态拟合,发送消息等。这些任务通常是周期性执行的,因此需要一个机制来执行这些任务。
Cron 表达式
Cron 表达式是一种用于描述定时任务的表达式,它由 5 ~7 个字段组成,每个字段表示一个时间单位。Linux 默认的 Cron 支持 5 个字段,从左到右依次是
分钟 minute、小时 hour、日期 day of month、月份 month、星期 day of week
除了上面 5 个字段,更全面的 Cron 表达式还有 second(秒)、year(年)两个字段。
[秒] 分 时 日期 月份 星期 [年份]
下面是一些常用的 Cron 表达式示例:
- 每天 10:00 执行任务:
0 10 * * *
- 每周一 10:00 执行任务:
0 10 * * 1
- 每月 1 号 10:00 执行任务:
0 10 1 * *
- 每天 10:00 和 22:00 执行任务:
0 10,22 * * *
- 每周一、周三、周五 10:00 执行任务:
0 10 * * 1,3,5
更详细的 Cron 语法可以参考阿里云的这篇文档 Cron表达式
单体服务下的定时任务
在服务器环境或者单体服务下执行定时任务是相对比较简单的,比如直接在 Linux 系统配置定时任务,或者使用语言、框架中自带的定时任务调度器来设置即可。
总字数:379字