package init_serve import ( "fmt" "github.com/robfig/cron/v3" "hongze/mysteel_watch/services" "hongze/mysteel_watch/utils" "hongze/mysteel_watch/watch" "time" "hongze/mysteel_watch/global" "hongze/mysteel_watch/services/alarm_msg" ) func InitTask() { c := cron.New(cron.WithSeconds()) //每1分钟检测一次,指标生成 _, err := c.AddFunc("0 */1 * * * *", CheckIndexCreate) if err != nil { global.LOG.Info("DownloadCvTask err" + err.Error()) } //每30分钟检测一次,周度指标刷新 //_, err = c.AddFunc("0 */30 * * * *", services.IndexRefreshWeek) //_, err = c.AddFunc("0 */5 * * * *", services.IndexRefreshWeek) //if err != nil { // global.LOG.Info("DownloadCvTask err" + err.Error()) // panic("DownloadCvTask err" + err.Error()) //} _, err = c.AddFunc("0 00 17 * * *", services.IndexRefreshAll) //_, err = c.AddFunc("0 */10 * * * *", services.IndexRefreshAll) if err != nil { global.LOG.Info("DownloadCvTask err" + err.Error()) } //单独刷新甲醇指标 _, err = c.AddFunc("0 00 18 * * *", services.IndexRefreshMethanol) //_, err = c.AddFunc("0 */12 * * * *", services.IndexRefreshMethanol) if err != nil { global.LOG.Info("DownloadCvTask err" + err.Error()) } // 合并指标 _, err = c.AddFunc("0 */10 * * * *", services.Merge) //_, err = c.AddFunc("0 */2 * * * *", services.Merge) if err != nil { global.LOG.Info("DownloadCvTask err" + err.Error()) } //检测需要及时刷新的指标 //_, err = c.AddFunc("0 30 17 * * *", services.IndexRefreshTimely) _, err = c.AddFunc("0 */5 * * * *", services.IndexRefreshTimely) if err != nil { global.LOG.Info("DownloadCvTask err" + err.Error()) } //其他指标刷新 //_, err = c.AddFunc("0 30 12 * * *", services.IndexRefreshAll) //_, err = c.AddFunc("0 48 17 * * *", services.IndexRefreshAll) //if err != nil { // global.LOG.Info("DownloadCvTask err" + err.Error()) // panic("DownloadCvTask err" + err.Error()) //} // 服务检测 _, err = c.AddFunc("0 */1 * * * *", services.ServerCheck) if err != nil { global.LOG.Info("ServerCheck err" + err.Error()) } c.Start() ////go watch.ListenFolderNew() go watch.ListenFolderNew() go watch.ListenFolderNewMerge() //redis 队列刷新指标 go services.AutoRefresh() //CheckIndexCreate() fmt.Println("start services.Merge") //services.Merge() //yearFile="year.xlsx" //filePath := global.CONFIG.Serve.IndexMergeSaveDir + "season.xlsx" //services.DataAnalysis(filePath) //services.Merge() fmt.Println("end services.Merge") } // 检测指标数据是否生成 func CheckIndexCreate() { var err error defer func() { if err != nil && err.Error() != "record not found" { global.LOG.Info(utils.APPNAME + " 定时任务 出错" + time.Now().Format("2006-01-02 15:04:05") + ";Err:" + err.Error()) go alarm_msg.SendAlarmMsg(utils.APPNAME+" 定时任务 出错"+time.Now().Format("2006-01-02 15:04:05")+";Err:"+err.Error(), 3) } }() err = services.IndexCreateCheck() }