task.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package init_serve
  2. import (
  3. "eta/eta_email_analysis/global"
  4. "eta/eta_email_analysis/services/pcsg"
  5. "github.com/robfig/cron/v3"
  6. )
  7. func InitTask() {
  8. // 如果配置文件中设置了停止任务,则不执行定时任务
  9. // 此功能用于多服务器部署时,定时任务只需一台服务器执行,其他服务器不执行;所以只需要一台服务器设置为false,其他服务器设置为true
  10. if global.CONFIG.Serve.IsStopTask {
  11. return
  12. }
  13. // 开始定时任务
  14. c := cron.New(cron.WithSeconds())
  15. //// 定时清除指标更新日志
  16. //if global.CONFIG.Mysql.Binlog.IsListen {
  17. // _, err := c.AddFunc("0 0 0 * * *", index_data.DeleteBeforeTenDayLog)
  18. // if err != nil {
  19. // global.LOG.Error("DeleteBeforeTenDayLog err" + err.Error())
  20. // }
  21. //}
  22. {
  23. syncTime := global.CONFIG.Email.SyncEmailTime
  24. if syncTime == `` {
  25. syncTime = `0 */30 * * * *`
  26. }
  27. _, err := c.AddFunc(syncTime, pcsg.ListenMail)
  28. if err != nil {
  29. global.LOG.Error("pcsg.ListenMail err" + err.Error())
  30. }
  31. }
  32. //pcsg.ListenMail()
  33. c.Start()
  34. }