task.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package init_serve
  2. import (
  3. "fmt"
  4. "github.com/robfig/cron/v3"
  5. "hongze/mysteel_watch/services"
  6. "hongze/mysteel_watch/utils"
  7. "hongze/mysteel_watch/watch"
  8. "time"
  9. "hongze/mysteel_watch/global"
  10. "hongze/mysteel_watch/services/alarm_msg"
  11. )
  12. func InitTask() {
  13. c := cron.New(cron.WithSeconds())
  14. //每5分钟检测一次,指标生成
  15. _, err := c.AddFunc("0 */5 * * * *", CheckIndexCreate)
  16. if err != nil {
  17. global.LOG.Info("DownloadCvTask err" + err.Error())
  18. panic("DownloadCvTask err" + err.Error())
  19. }
  20. //检测周度指标刷新
  21. _, err = c.AddFunc("0 00 03 * * *", services.IndexRefreshAll)
  22. if err != nil {
  23. global.LOG.Info("DownloadCvTask err" + err.Error())
  24. panic("DownloadCvTask err" + err.Error())
  25. }
  26. _, err = c.AddFunc("0 50 12 * * *", services.IndexRefreshAll)
  27. if err != nil {
  28. global.LOG.Info("DownloadCvTask err" + err.Error())
  29. panic("DownloadCvTask err" + err.Error())
  30. }
  31. c.Start()
  32. go watch.ListenFolderNew()
  33. }
  34. //检测指标数据是否生成
  35. func CheckIndexCreate() {
  36. var err error
  37. defer func() {
  38. if err != nil {
  39. global.LOG.Info(utils.APPNAME + " 定时任务 出错" + time.Now().Format("2006-01-02 15:04:05") + ";Err:" + err.Error())
  40. go alarm_msg.SendAlarmMsg(utils.APPNAME+" 定时任务 出错"+time.Now().Format("2006-01-02 15:04:05")+";Err:"+err.Error(), 3)
  41. }
  42. }()
  43. err = services.IndexCreateCheck()
  44. }
  45. //定时刷新
  46. func RefreshTask() {
  47. fmt.Println(time.Now().Format(utils.FormatDateTime))
  48. }