123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package init_serve
- import (
- "eta/mysteel_watch/services"
- "eta/mysteel_watch/utils"
- "eta/mysteel_watch/watch"
- "github.com/robfig/cron/v3"
- "time"
- "eta/mysteel_watch/global"
- "eta/mysteel_watch/services/alarm_msg"
- )
- func InitTask() {
- // 异步处理待刷新的excel
- go services.AutoRefresh()
- // 异步处理已经变更过的excel
- go watch.HandleFileUpdate()
- c := cron.New(cron.WithSeconds())
- //awk '{ if ($9 <= 200) print "<= 200ms"; else if ($9 <= 500) print "201-500ms"; else if ($9 <= 1000) print "501-1000ms"; else if ($9 <= 2000) print "1001-2000ms"; else print "> 2000ms"; }' eta_api.log | sort | uniq -c
- //每5分钟检测一次,指标生成
- _, err := c.AddFunc("0 */5 * * * *", CheckIndexCreateMerge)
- if err != nil {
- global.LOG.Error("CheckIndexCreateMerge err" + err.Error())
- }
- // 定时统一更新(日度、周度指标)
- //if len(global.CONFIG.Serve.RefreshTimeList) <= 0 {
- // //panic("未配置数据统一刷新时间")
- // // 未配置时间的话,那么默认每天17点更新一次
- // global.CONFIG.Serve.RefreshTimeList = append(global.CONFIG.Serve.RefreshTimeList, "0 0 17 * * *")
- //}
- //for _, timeStr := range global.CONFIG.Serve.RefreshTimeList {
- // _, tmpErr := c.AddFunc(timeStr, services.MergeDayAndWeek)
- // if tmpErr != nil {
- // global.LOG.Error("services.MergeDayAndWeek 服务启动失败" + "时间:" + timeStr + ";err:" + tmpErr.Error())
- // }
- //}
- //
- //// 每天早上7点处理一次
- //_, err = c.AddFunc("0 0 7 * * *", services.MergeMonthSeasonYear)
- //if err != nil {
- // global.LOG.Error("services.MergeMonthSeasonYear err" + err.Error())
- //}
- //每2分钟检测一次指标文件是否更新
- _, err = c.AddFunc("0 */2 * * * *", watch.ReadWatchIndexFile)
- if err != nil {
- global.LOG.Error("watch.ReadWatchIndexFile err" + err.Error())
- }
- // 服务检测
- _, err = c.AddFunc("0 */1 * * * *", services.ServerCheck)
- if err != nil {
- global.LOG.Error("ServerCheck err" + err.Error())
- }
- // 每30分钟检测一次是否需要刷新数据
- _, err = c.AddFunc("0 */30 * * * *", services.CheckRefreshConfig)
- if err != nil {
- global.LOG.Error("services.CheckRefreshConfig err" + err.Error())
- }
- // 指标更新检测
- if global.CONFIG.Serve.IsCheckIndexUpdate {
- services.IndexUpdateCheck()
- _, err = c.AddFunc("0 30 17 * * *", services.IndexUpdateCheck)
- if err != nil {
- global.LOG.Error("IndexUpdateCheck err" + err.Error())
- }
- }
- c.Start()
- }
- // CheckIndexCreate 检测指标数据是否生成
- 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()
- }
- // CheckIndexCreateMerge 检测指标数据是否生成
- func CheckIndexCreateMerge() {
- 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.IndexCreateCheckMerge()
- }
|