Golang Cron 表达式详解:使用 cron.v3 库定时执行任务
Cron表达式是一种用于配置定期执行任务的格式。在Golang中,我们可以使用第三方库'gopkg.in/robfig/cron.v3'来解析和执行Cron表达式。
下面是一个简单的Cron表达式示例:
0 0 1 * * * // 每个月的第一天,凌晨12点执行
这个表达式由六个字段组成,每个字段代表不同的时间单位:
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ └───── day of week (0 - 6) (Sunday to Saturday)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59)
通过这个库,我们可以使用以下代码来执行上面的Cron表达式:
package main
import (
"fmt"
"gopkg.in/robfig/cron.v3"
"time"
)
func main() {
c := cron.New()
c.AddFunc("0 0 1 * * *", func() {
fmt.Println("执行任务")
})
c.Start()
defer c.Stop()
// 主线程休眠一分钟,等待任务执行
time.Sleep(time.Minute)
}
当这个程序运行时,它会在每个月的第一天凌晨12点执行一次'执行任务'函数。在实际应用中,我们可以根据具体需求编写不同的Cron表达式来定期执行任务。
原文地址: https://www.cveoy.top/t/topic/lMJC 著作权归作者所有。请勿转载和采集!