task.go 914 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package services
  2. import (
  3. "encoding/json"
  4. "eta/eta_report/utils"
  5. "fmt"
  6. )
  7. func InitTask() {
  8. // 监听生成报告长图及pdf
  9. go ListenReport2ImgQueue()
  10. }
  11. // Report2ImgQueueReq 报告生成长图请求体
  12. type Report2ImgQueueReq struct {
  13. ReportType int `description:"报告类型: 1-研报; 2-智能研报"`
  14. ReportCode string `description:"报告唯一编码"`
  15. }
  16. // ListenReport2ImgQueue 监听生成报告长图及pdf
  17. func ListenReport2ImgQueue() {
  18. defer func() {
  19. if err := recover(); err != nil {
  20. fmt.Println("[ListenReport2ImgQueue]", err)
  21. }
  22. }()
  23. for {
  24. utils.Rc.Brpop(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, func(b []byte) {
  25. fmt.Println("ListenReport2ImgQueue Brpop:" + string(b))
  26. var req Report2ImgQueueReq
  27. err := json.Unmarshal(b, &req)
  28. if err != nil {
  29. fmt.Println("ListenReport2ImgQueue json.Unmarshal Err:" + err.Error())
  30. }
  31. CreateReportImgAndPdf(req)
  32. })
  33. }
  34. }