package scheduler import ( "log" "github.com/robfig/cron/v3" ) func Init() *cron.Cron { c := cron.New() c.AddFunc("@every 1h", func() { log.Println("每小时任务执行") // do job }) // 每天 14:00 执行一次 // robfig/cron 默认支持 6 字段:秒 分 时 日 月 星期 // "0 0 14 * * *" 秒=0, 分=0, 时=14,每天执行 // c.AddFunc("0 0 14 * * *", func() { // log.Println("每天 14:00 执行Shutdown统计") // // 获取当前时间 // now := time.Now() // // 计算前天(往前两天) // beforeYesterday := now.AddDate(0, 0, -2) // // 格式化为字符串(按 yyyy-MM-dd) // beforeYesterdayStr := beforeYesterday.Format(time.DateOnly) // taskQueue.EnqueueShutdownStatisticsTask(domain.TaskShutdownStatistics{ // Date: beforeYesterdayStr, // }) // }) c.Start() return c }