“github.com/jasonlvhit/gocron”
var wg sync.WaitGroup//保证主 goroutine 不退出
wg.Add(1)
gocron.Every(10).Seconds().Do(func(){
fmt.Println("ok")
})
t := time.Date(2021, 3, 18, 16, 0, 0, 0, time.Local)
gocron.Every(5).Seconds().From(&t).Do//设置开始时间
gocron.Every(1).Second().Do(task)//每秒
gocron.Every(2).Seconds().Do(task)//每2秒,1秒以上带s
gocron.Every(1).Minute().Do(task)//每分钟
gocron.Every(2).Minutes().Do(task)//每两分钟
gocron.Every(1).Hour().Do(task)//每小时
gocron.Every(2).Hours().Do(task)//每2小时
gocron.Every(1).Day().Do(task)//每天
gocron.Every(2).Days().Do(task)//每两天
gocron.Every(1).Week().Do(task)//每周
gocron.Every(2).Weeks().Do(task)//每两周
以下支持具体时间At("18:30:59")
gocron.Every(1).Day().At("10:30").Do(fn, 1, "hello")//每天十点半
gocron.Every(1).Monday().Do(task)每周一
gocron.Every(1).Tuesday().Do()每周二
gocron.Every(1).Wednesday().Do()每周三
gocron.Every(1).Thursday().Do()每周四
gocron.Every(1).Friday().Do()每周五
gocron.Every(1).Saturday().Do()每周六
gocron.Every(1).Sunday().Do()每周日
<- gocron.Start()
wg.Wait()
- cron
`go get -u github.com/robfig/cron`
type fn struct {
}
func (this fn)Run() {
fmt.Println(12)
}
i:=0
c := cron.New()
c.AddFunc("0/5 * * * * *", func() {
i++
log.Println("运行任务",i)
})
c.AddJob("0/3 * * * * *", fn{})
c.Start()
select{}
defer c.Stop()
文档更新时间: 2021-12-06 04:50 作者:Yoby