task.go 994 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package init_serve
  2. import (
  3. "eta/eta_bridge/global"
  4. "eta/eta_bridge/services"
  5. "eta/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. go services.ListenSyncRole()
  16. go services.ListenSyncAdmin()
  17. go services.ListenSyncDepartment()
  18. go services.ListenSyncGroup()
  19. go services.ListenSyncUserEnRole()
  20. // 开始定时任务
  21. c := cron.New(cron.WithSeconds())
  22. // 定时清除指标更新日志
  23. if global.CONFIG.Mysql.Binlog.IsListen {
  24. _, err := c.AddFunc("0 0 0 * * *", index_data.DeleteBeforeTenDayLog)
  25. if err != nil {
  26. global.LOG.Error("DeleteBeforeTenDayLog err" + err.Error())
  27. }
  28. }
  29. c.Start()
  30. }