定时调度包含 Cron、Second delay、Fixed rate 等方式。

Cron

Cron 是一款类 Unix 的操作系统下的基于时间的任务管理系统。您可以通过 Cron 在固定时间、日期间隔下运行定时任务(可以是命令和脚本)。

表达式为 [年]

为了帮助您理解,下面介绍一些常用的 Cron 表达式示例:

Cron 示例 说明
0 */1 * * * ? 每隔 1 分钟触发一次
0 0 5-15 * * ? 每天 5-15 点整点触发
0 0/3 * * * ? 每 3 分钟触发一次
0 0-5 14 * * ? 每天 14:00 ~ 14:05 期间每隔 1 分钟触发
0 0/5 14 * * ? 每天 14:00 ~ 14:55 期间每隔 5 分钟触发
0 0/5 14,18 * * ? 每天 14:00 ~ 14:55 和 18:00 ~ 18:55 两个时间段内每5分钟触发
0 0/30 9-17 * * ? 每天 9:00 ~ 17:00 内每半小时触发
0 0 10,14,16 * * ? 每天10:00、14:00 和 16:00 触发
0 0 12 ? * WED 每周三 12:00 触发
0 0 17 ? * TUES,THUR,SAT 每周二、周四、周六 17:00 触发
0 10,44 14 ? 3 WED 每年三月的每周三的 14:10 和 14:44 触发
0 15 10 ? * MON-FRI 周一至周五的上午 10:15 触发
0 0 23 L * ? 每月最后一天 23:00 触发
0 15 10 L * ? 每月最后一天 10:15 触发
0 15 10 ? * 6L 每月最后一个周五上午 10:15 触发
0 15 10 * * ? 2005 2005 年的每天 10:15 触发
0 15 10 ? * 6L 2002-2005 2002 年 ~ 2005 年的每月的最后一个周五上午 10:15 触发
0 15 10 ? * 6#3 每月的第三个周五 10:15 触发

Second delay

秒级延迟调度,适用于对实时性要求比较高的业务。支持 1~60 秒间隔的秒级延迟调度,即每次任务执行完成后,间隔秒级时间再次触发调度。例如执行间隔为 10 秒的定时调度任务。

Fixed rate

固定频率,单位秒,支持 60 秒以上的固定频率调度。