测试cron出错: expected exactly 5 fields, found 6。
错误代码:
func CronTask() {
log.Println("******** ******* *******")
}
func CronTest() {
log.Println("Starting Cron...")
c := cron.New()
_,err:= c.AddFunc("* * * * * *", CronTask)
if err!=nil{
fmt.Println("err:",err)
}
c.Start()
t1 := time.NewTimer(time.Second * 10)
for {
select {
case <-t1.C://这里要学习一下
fmt.Println("Time now:", time.Now().Format("2006-01-02 15:04:05"))
t1.Reset(time.Second * 10)
}
}
}
func main() {
fmt.Println(strings.Repeat("START ", 15))
CronTest()
fmt.Println(strings.Repeat("END ", 15))
}
错误原因:mac只支持分钟级别的cron。要把代码修改。、
func newWithSeconds() *cron.Cron {
secondParser := cron.NewParser(cron.Second | cron.Minute |
cron.Hour | cron.Dom | cron.Month | cron.DowOptional | cron.Descriptor)
return cron.New(cron.WithParser(secondParser), cron.WithChain())
}
func main() {
c := newWithSeconds()
c.AddFunc("0/3 * * * * ? ", func() {
fmt.Println("a-1: ",time.Now().Format("2006-01-02 15:04:05") )
})
c.Start()
time.Sleep( 1 * time.Minute)
}