main.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package main
  2. import (
  3. _ "eta/eta_mini_ht_api/common/component"
  4. logger "eta/eta_mini_ht_api/common/component/log"
  5. "eta/eta_mini_ht_api/common/contants"
  6. "eta/eta_mini_ht_api/common/exception"
  7. "eta/eta_mini_ht_api/domian/report"
  8. "eta/eta_mini_ht_api/models/eta"
  9. _ "eta/eta_mini_ht_api/routers"
  10. _ "eta/eta_mini_ht_api/task"
  11. "github.com/beego/beego/v2/server/web"
  12. "sync"
  13. )
  14. func main() {
  15. if web.BConfig.RunMode == "dev" {
  16. web.BConfig.WebConfig.DirectoryIndex = true
  17. web.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
  18. }
  19. //web.ErrorHandler("*", exception.ControllerAdvice())
  20. web.BConfig.RecoverFunc = exception.PanicAdvice
  21. go func() {
  22. //内存数据预热预加载
  23. logger.Info("开始预加载数据")
  24. //初始化研报库
  25. initReport()
  26. }()
  27. logger.Info("初始化成功")
  28. web.Run()
  29. }
  30. func initReport() {
  31. var wg sync.WaitGroup
  32. wg.Add(1)
  33. logger.Info("开始初始化研报库")
  34. go func() {
  35. defer wg.Done()
  36. for {
  37. id, err := report.GetETALatestReportId()
  38. var etaReportList []eta.ETAReport
  39. etaReportList, err = eta.GetETAReports(id)
  40. if err != nil {
  41. logger.Error("获取ETA研报列表失败:%v", err)
  42. }
  43. if len(etaReportList) > 0 {
  44. err = report.InitETAReportList(etaReportList)
  45. if err != nil {
  46. logger.Error("同步ETA研报列表失败:%v", err)
  47. }
  48. } else {
  49. logger.Info(contants.TaskFormat, "同步ETA研报库结束")
  50. break
  51. }
  52. }
  53. }()
  54. //go func() {
  55. // defer wg.Done()
  56. // id, err := report.GetHTLatestReportId()
  57. // var htReportList []ht.HTReport
  58. // htReportList, err = ht.GetHTReports(id)
  59. // if err != nil {
  60. // logger.Error("获取ETA研报列表失败:%v", err)
  61. // }
  62. // if len(htReportList) > 0 {
  63. // err = report.InitHTReportList(htReportList)
  64. // if err != nil {
  65. // logger.Error("同步ETA研报列表失败:%v", err)
  66. // }
  67. // }
  68. // logger.Info(contants.TaskFormat, "同步ETA研报库结束")
  69. //}()
  70. wg.Wait()
  71. logger.Info("初始化研报库完成")
  72. }