task.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package services
  2. import (
  3. "context"
  4. "eta_gn/eta_task/services/data"
  5. "eta_gn/eta_task/services/data_stat"
  6. "eta_gn/eta_task/utils"
  7. "fmt"
  8. "sync"
  9. "time"
  10. "github.com/beego/beego/v2/task"
  11. )
  12. func Task() {
  13. fmt.Println("task start")
  14. if utils.RunMode == "release" || utils.IsStartReleaseTask {
  15. releaseTask()
  16. }
  17. publishReport := task.NewTask("publishReport", "0 */1 * * * *", PublishReport)
  18. task.AddTask("定时发布研报", publishReport)
  19. setEdbSourceStatTask := task.NewTask("setEdbSourceStatTask", "0 20 19,23 * * *", data_stat.SetEdbSourceStatTask)
  20. task.AddTask("数据源统计表", setEdbSourceStatTask)
  21. GnTask()
  22. task.StartTask()
  23. fmt.Println("task end")
  24. }
  25. func releaseTask() {
  26. initPositionTask := task.NewTask("initPositionTask", "0 20,40 16-19 * * *", data.InitPositionTask)
  27. task.AddTask("initPositionTask", initPositionTask)
  28. refreshData := task.NewTask("refreshData", "0 30 0,19 * * *", RefreshData)
  29. task.AddTask("refreshData", refreshData)
  30. configRefreshData := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", ConfigRefreshDataGn)
  31. task.AddTask("configRefreshData", configRefreshData)
  32. syncBaseDataExt := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", SyncBaseDataExt)
  33. task.AddTask("syncBaseDataExt", syncBaseDataExt)
  34. resetEdbInfoIsUpdate := task.NewTask("resetEdbInfoIsUpdate", "0 0 0 * * *", data.ResetEdbInfoIsUpdate)
  35. task.AddTask("resetEdbInfoIsUpdate", resetEdbInfoIsUpdate)
  36. deleteLog := task.NewTask("syncSubStatus", "0 0 2 2 * *", DeleteLog)
  37. task.AddTask("deleteLog", deleteLog)
  38. publishEnglishReport := task.NewTask("publishEnglishReport", "0 */1 * * * *", PublishEnglishReport)
  39. task.AddTask("定时发布英文研报", publishEnglishReport)
  40. clearReportSaveLog := task.NewTask("clearReportSaveLog", "0 15 23 * * *", ClearReportSaveLog)
  41. task.AddTask("定时清理报告保存日志", clearReportSaveLog)
  42. clearAdminOperateLog := task.NewTask("clearAdminOperateLog", "0 20 23 * * *", ClearAdminOperateLog)
  43. task.AddTask("定时清理用户操作日志", clearAdminOperateLog)
  44. }
  45. func RefreshData(cont context.Context) (err error) {
  46. wg := sync.WaitGroup{}
  47. go func() {
  48. wg.Add(1)
  49. data.RefreshDataFromManual(&wg)
  50. }()
  51. go func() {
  52. wg.Add(1)
  53. data.NoneConfigRefreshDataGn(&wg)
  54. }()
  55. wg.Wait()
  56. data.RefreshDataFromCalculateAll()
  57. data.RefreshBasePredictDataAll()
  58. data.RefreshPredictDataFromCalculateAll()
  59. _ = data.RefreshFactorEdbCalculateData()
  60. _ = data.RefreshFactorEdbChartCalculateData()
  61. time.Sleep(5 * time.Second)
  62. fmt.Println("Refresh End")
  63. return
  64. }
  65. func SyncBaseDataExt(cont context.Context) (err error) {
  66. now := time.Now()
  67. if now.Hour() == 0 || now.Hour() == 19 {
  68. return nil
  69. }
  70. go data.SyncManualDataBase()
  71. go data.SetChartEdbEndDate()
  72. return
  73. }