task.go 713 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package task
  2. import (
  3. task "bet24.com/servers/micros/task/proto"
  4. "time"
  5. )
  6. var mgr *taskManager
  7. type taskManager struct {
  8. task_list []task.Task
  9. }
  10. func getTaskManager() *taskManager {
  11. if mgr == nil {
  12. mgr = new(taskManager)
  13. mgr.refreshData()
  14. }
  15. return mgr
  16. }
  17. func (this *taskManager) refreshData() {
  18. this.load()
  19. time.AfterFunc(1*time.Minute, this.refreshData)
  20. }
  21. func (this *taskManager) load() {
  22. list := task.GetSysTaskList()
  23. if len(list) == 0 {
  24. return
  25. }
  26. for _, v := range list {
  27. this.task_list = append(this.task_list, *v)
  28. }
  29. return
  30. }
  31. func (this *taskManager) getTaskName(taskId int) string {
  32. for _, v := range this.task_list {
  33. if v.Id == taskId {
  34. return v.Desc
  35. }
  36. }
  37. return ""
  38. }