service.go 707 B

123456789101112131415161718192021222324252627282930313233343536
  1. package service
  2. import (
  3. "analyze/internal/dao"
  4. "context"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "sync"
  7. "time"
  8. )
  9. func InitUserInfo(ctx context.Context) {
  10. g.Log().Info(ctx, "analyze task start...", time.Now().Unix())
  11. AnalyzeTasks, err := dao.Offline.OfflineData()
  12. if err == nil {
  13. var (
  14. wg = sync.WaitGroup{}
  15. ac = make(chan bool, len(AnalyzeTasks))
  16. )
  17. //数据处理
  18. for _, analyze := range AnalyzeTasks {
  19. ac <- true
  20. wg.Add(1)
  21. go func(az dao.AT) {
  22. defer func() {
  23. wg.Done()
  24. <-ac
  25. }()
  26. az.Run()
  27. }(analyze)
  28. }
  29. wg.Wait()
  30. } else {
  31. g.Log().Info(ctx, "init user offline data err :", err.Error())
  32. }
  33. g.Log().Info(ctx, "analyze task end...", time.Now().Unix())
  34. }