notice_task.go 1.0 KB

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