golang启动定时任务(robfig/cron/v3)

2025-11-07 来源:胡子哥
c := cron.New()

c.AddFunc(fmt.Sprintf("*/%s * * * *", viper.GetString("base.interval")), func() {
	fmt.Println("Run:", time.Now().Unix())
	Run(all, configStruct)
})

c.AddFunc(fmt.Sprintf("* */%s * * *", viper.GetString("base.intervalSSL")), func() {
	fmt.Println("Run:", time.Now().Unix())
	Run2(all, configStruct)
})
c.Start()select {}

c := cron.New(cron.WithSeconds()) //启动秒级别

示例:

* * * * * //每分钟执行
00 */3 * * * //每隔3小时执行
10 03 * * * //每天凌晨3点10分(00:10)执行
00 02 * * 7 //每周日凌晨2:00 执行
00 02 14 2 7 //每年2月14日凌晨2:00 或 每周日凌晨2:00 执行(最后一位0和7 都表示周日)
00 02 2,5,8 * * //每月2,5,8号的2:00 执行
00 02 1-8 * * //每月1到8号的凌晨2:00 执行

每隔一段时间还有这种写法

符号说明示例
@yearly每年执行
@monthly每月执行
@weekly每周执行
@daily每天执行
@hourly每小时执行
@every指定间隔"@every 1h25m"

最新评论

文明人,不要粗鲁哦!