notice_task.go 1020 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. //logger.Info(contants.TaskFormat, "监听更新通知开始")
  15. metaInfoList := userService.GetInitMetaInfos()
  16. var wg sync.WaitGroup
  17. wg.Add(len(metaInfoList))
  18. for _, metaInfo := range metaInfoList {
  19. go func(metaInfo userService.MetaInfoDTO) {
  20. defer wg.Done()
  21. if !userService.PendingMetaInfo(metaInfo.Id) {
  22. return
  23. }
  24. msgErr := userService.CreateMessage(metaInfo)
  25. if msgErr != nil {
  26. logger.Error("生成消息失败:%v", err)
  27. }
  28. }(metaInfo)
  29. }
  30. //报告和媒体
  31. return
  32. }
  33. type NoticeTask struct {
  34. }
  35. func init() {
  36. reportTask := base.NewTask(taskName, cron, new(NoticeTask), base.DEV)
  37. base.RegisterTask(&reportTask)
  38. }