task_starter.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package task
  2. import (
  3. "eta/eta_mini_ht_api/common/component/config"
  4. "eta/eta_mini_ht_api/common/contants"
  5. "eta/eta_mini_ht_api/task/base"
  6. //_ "eta/eta_mini_ht_api/task/eta/author"
  7. //_ "eta/eta_mini_ht_api/task/eta/permission"
  8. //_ "eta/eta_mini_ht_api/task/message"
  9. _ "eta/eta_mini_ht_api/task/order"
  10. //_ "eta/eta_mini_ht_api/task/report"
  11. //_ "eta/eta_mini_ht_api/task/sms"
  12. "github.com/beego/beego/v2/server/web"
  13. "github.com/beego/beego/v2/task"
  14. )
  15. func AddTasksToScheduler() {
  16. for _, t := range base.GetTasks() {
  17. if needAddTask(t.RunMode, web.BConfig.RunMode) {
  18. tk := task.NewTask(string(t.Name), t.Cron, t.Run)
  19. task.AddTask(string(t.Name), tk)
  20. }
  21. }
  22. }
  23. func needAddTask(taskRunMode string, runMode string) bool {
  24. if taskRunMode == base.PROD {
  25. return true
  26. }
  27. if taskRunMode == base.TEST {
  28. if runMode == base.PROD {
  29. return false
  30. }
  31. return true
  32. }
  33. if taskRunMode == base.DEV {
  34. if runMode == base.DEV {
  35. return true
  36. }
  37. return false
  38. }
  39. if taskRunMode == base.FORBIDDEN {
  40. return false
  41. }
  42. return false
  43. }
  44. // StartScheduler 启动任务调度器
  45. func StartScheduler() {
  46. htConfig := config.GetConfig(contants.HT).(*config.HTBizConfig)
  47. if htConfig.EnableTask() {
  48. task.StartTask()
  49. }
  50. }
  51. func init() {
  52. AddTasksToScheduler()
  53. StartScheduler()
  54. }