Golang实现Cron定时任务
文章目录
Cron定时任务是很常用的应用场景,在linux使用Crontab配置表达式来实现按规则定时执行任务。Golang如何实现按Cron表达式执行定时任务呢?本文介绍使用robfig/cron包来实现定时任务。
引入依赖包
|
|
Golang使用robfig/cron实现定时任务
|
|
crontab表达式的用法
crontab
表达式用于在类 Unix 系统中安排定时任务。它由五个字段组成,每个字段代表一个时间单位,用于指定任务执行的时间和频率。以下是 crontab
表达式的组成部分:
- 分钟 (Minutes):0 - 59
- 小时 (Hours):0 - 23
- 日期 (Day of Month):1 - 31
- 月份 (Month):1 - 12 或 JAN-DEC
- 星期几 (Day of Week):0 - 7 或 SUN-SAT;7 或 0 代表星期天
这些字段可以包含特定的值、范围、列表或特殊字符:
*
(星号):代表所有可能的值。例如,分钟字段的*
表示“每分钟”。?
(问号):仅在日期和星期几字段中使用,表示不指定值。-
(连字符):表示一个范围。例如,1-5
表示从 1 到 5。/
(正斜杠):表示起始时间开始,每隔一定时间执行一次。例如,0/30
在分钟字段表示“每小时的第 0 和第 30 分钟”。,
(逗号):用于列表。例如,1,3,5
表示在第 1、3、5 分钟。
以下是一些 crontab
表达式的例子:
0 * * * *
:每小时的整点执行。30 1 * * *
:每天凌晨 1 点 30 分执行。0 8-18 * * 1-5
:在周一到周五的每天上午 8 点到下午 6 点之间,每小时的整点执行。0 9,13,17 * * 1-5
:在周一到周五的每天上午 9 点、下午 1 点和下午 5 点执行。*/10 * * * *
:每 10 分钟执行一次。0 0/2 * * *
:每小时的第 0和第 2分钟执行(即每小时的0分和2分)。
文章作者 HiOFD
上次更新 2024-07-26