简介
在跑任务程序的时候,我们希望在某个时间点执行某些操作,这时候就可以使用cron快速实现。

Go实现
在Go开源项目中有好几个都有实现cron的功能,例如:
github.com/robfig/cron这个项目下有支持秒级别的cron任务,最新版本反而不支持,需要注意,目前最新版本是v3,如果不指定版本号,默认是使用v1的版本

v1版本
这个版本最低是分秒级别
package mainimport ( "fmt" "time" "github.com/robfig/cron")func main() { fmt.Println("starting....") c := cron.New() err := c.AddFunc("*/5 * * * * *", func() { fmt.Println(time.Now(), "opcai") }) if err != nil { panic(err) } err = c.AddFunc("*/5 * * * * *", func() { fmt.Println(time.Now(), "linux") }) if err != nil { panic(err) } c.Start() select {}}v3版本
这个版本最低是分钟级别
package mainimport ( "fmt" "time" cron "github.com/robfig/cron/v3")func main() { fmt.Println("starting....") c := cron.New() _, err := c.AddFunc("* * * * *", func() { fmt.Println(time.Now(), "opcai") }) if err != nil { panic(err) } _, err = c.AddFunc("* * * * *", func() { fmt.Println(time.Now(), "linux") }) if err != nil { panic(err) } c.Start() select {}}总结
一般分钟级别的就够用了,需要精确时间的任务,可以使用秒级别的。

版权声明:本文为weixin_29194255原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。