task.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package services
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_report/utils"
  5. "fmt"
  6. )
  7. func InitTask() {
  8. }
  9. type Report2ImgQueueReq struct {
  10. ReportType int `description:"报告类型: 1-研报; 2-智能研报"`
  11. ReportCode string `description:"报告唯一编码"`
  12. }
  13. func ListenReport2ImgQueue() {
  14. defer func() {
  15. if err := recover(); err != nil {
  16. fmt.Println("[ListenReport2ImgQueue] recover: ", err)
  17. utils.FileLog.Info(fmt.Sprintf("[ListenReport2ImgQueue] recover: %v", err))
  18. }
  19. }()
  20. for {
  21. if utils.Re != nil {
  22. fmt.Println("[ListenReport2ImgQueue] Re err: ", utils.Re.Error())
  23. utils.FileLog.Info(fmt.Sprintf("[ListenReport2ImgQueue] Re err: %s", utils.Re.Error()))
  24. continue
  25. }
  26. utils.Rc.Brpop(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, func(b []byte) {
  27. var req Report2ImgQueueReq
  28. if e := json.Unmarshal(b, &req); e != nil {
  29. t := fmt.Sprintf("[ListenReport2ImgQueue] Unmarshal err: %s, b: %s", e.Error(), string(b))
  30. fmt.Println(t)
  31. utils.FileLog.Info(t)
  32. return
  33. }
  34. CreateReportImgAndPdf(req)
  35. })
  36. }
  37. }