Go 定时任务
说起 Go 的定时任务,不得不学习一波 robfig/cron 包,github地址
1. 使用 Demo 1.1 每秒钟执行一次 package main import ( "fmt" "time" "github.com/robfig/cron/v3" ) func main() { job := cron.New( cron.WithSeconds(), // 添加秒级别支持,默认支持最小粒度为分钟 ) // 每秒钟执行一次 job.AddFunc("* * * * * *", func() { fmt.Printf("secondly: %v\n", time.Now()) }) job.Run() // 启动 } cron 表达式格式可以自行百度,这里不再赘述。 需要强调的是,cron 默认支持到分钟级别,如果需要支持到秒级别,在初始化 cron 时,记得 cron.WithSeconds() 参数。
1.2 每分钟执行一次 // 每分钟执行一次 job.AddFunc("0 * * * * *", func() { fmt.Printf("minutely: %v\n", time.Now()) }) 1.