notice_task.go 957 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package message
  2. import (
  3. logger "eta/eta_mini_ht_api/common/component/log"
  4. userService "eta/eta_mini_ht_api/domian/user"
  5. "eta/eta_mini_ht_api/task/base"
  6. "sync"
  7. )
  8. var (
  9. taskName base.TaskType = "NoticeTask"
  10. cron = "0/5 * * * * *"
  11. )
  12. // Execute Task ETA取研报的数据
  13. func (au *NoticeTask) Execute(taskDetail *base.TaskDetail) (err error) {
  14. metaInfoList := userService.GetInitMetaInfos()
  15. var wg sync.WaitGroup
  16. wg.Add(len(metaInfoList))
  17. for _, metaInfo := range metaInfoList {
  18. go func(metaInfo userService.MetaInfoDTO) {
  19. defer wg.Done()
  20. if !userService.PendingMetaInfo(metaInfo.Id) {
  21. return
  22. }
  23. msgErr := userService.CreateMessage(metaInfo)
  24. if msgErr != nil {
  25. logger.Error("生成消息失败:%v", err)
  26. }
  27. }(metaInfo)
  28. }
  29. //报告和媒体
  30. return
  31. }
  32. type NoticeTask struct {
  33. }
  34. func init() {
  35. reportTask := base.NewTask(taskName, cron, new(NoticeTask), base.PROD)
  36. base.RegisterTask(&reportTask)
  37. }