task.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package init_serve
  2. import (
  3. "eta_gn/eta_bridge/global"
  4. "eta_gn/eta_bridge/services"
  5. "eta_gn/eta_bridge/services/index_data"
  6. "github.com/robfig/cron/v3"
  7. )
  8. func InitTask() {
  9. // 如果配置文件中设置了停止任务,则不执行定时任务
  10. // 此功能用于多服务器部署时,定时任务只需一台服务器执行,其他服务器不执行;所以只需要一台服务器设置为false,其他服务器设置为true
  11. if global.CONFIG.Serve.IsStopTask {
  12. return
  13. }
  14. // 修复数据
  15. //if global.CONFIG.Gn.DataHost != `` {
  16. // fmt.Println("开始修复数据了")
  17. // index_data.FixData()
  18. //}
  19. // 角色-用户-部门-分组同步
  20. //go services.ListenSyncRole()
  21. //go services.ListenSyncAdmin()
  22. //go services.ListenSyncDepartment()
  23. //go services.ListenSyncGroup()
  24. go services.ListenSyncUserEnRole()
  25. // 开始定时任务
  26. c := cron.New(cron.WithSeconds())
  27. // 定时清除指标更新日志
  28. if global.CONFIG.Mysql.Binlog.IsListen {
  29. _, err := c.AddFunc("0 0 0 * * *", index_data.DeleteBeforeTenDayLog)
  30. if err != nil {
  31. global.LOG.Error("DeleteBeforeTenDayLog err" + err.Error())
  32. }
  33. }
  34. c.Start()
  35. }