分布式任务调度

在实际项目中,经常需要执行定时任务,比如每天执行的数据统计或清理,定时执行状态拟合,发送消息等。这些任务通常是周期性执行的,因此需要一个机制来执行这些任务。

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表达式open in new window

单体服务下的定时任务

在服务器环境或者单体服务下执行定时任务是相对比较简单的,比如直接在 Linux 系统配置定时任务,或者使用语言、框架中自带的定时任务调度器来设置即可。

总字数:379