go实现一个定时任务
#小白一枚,有时候发现机器定时任务不生效,就想着自己实现一下
package main
import (
"github.com/robfig/cron"
"fmt"
)
func NewCrond(param string,f func()) {
var num int = 0;
crond := newWithSeconds()
crond.AddFunc(param,func(){
num++
f()
})
crond.Start()
select {}
}
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 one() {
fmt.Println("第一个定时任务!")
}
func two() {
fmt.Println("第二个定时任务!")
}
func main() {
var o string = "30 18 10 * * ?"
var t string = "00 18 10 * * ?"
go func() {
NewCrond(o, one)
}()
go func() {
NewCrond(t, two)
}()
select {}
}