[go]gorhill/cronexpr用go实现crontab
// crontab基础 // linux crontab // 秒粒度, 年配置(2018-2099) // 哪一分钟(0-59),哪小时(0-23),哪天(1-31),哪月(1-12),星期几(0-6) // expr 和 nextTime import ( "github.com/gorhill/cronexpr" ) expr, err = cronexpr.Parse("*/1 * * * * * *") //每隔5min执行一次 now = time.Now() nextTime = expr.Next(now) // 下次调度时间 time.AfterFunc(nextTime.Sub(now), func() { fmt.Println("被调度了:", nextTime) }) expr = cronexpr.MustParse("*/5 * * * * * *") expr.Next(now) // time对象的方法 cronJob.nextTime.Before(now) || cronJob.nextTime.Equal(now) // crontab调用模型 import ( "github.com/gorhill/cronexpr" "time" "fmt" ) // 代表一个任务 type CronJob struct { expr