main.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package main
  2. import (
  3. "data_ai/extract"
  4. "data_ai/udp"
  5. "data_ai/ul"
  6. log "github.com/donnie4w/go-logger/logger"
  7. "sync"
  8. )
  9. func init() {
  10. ul.IsTool = false //是否工具
  11. ul.IsLocal = true //是否本地
  12. ul.IsFull = false //是否全量
  13. if ul.IsTool {
  14. ul.InitToolVar()
  15. } else {
  16. ul.InitGlobalVar()
  17. if !ul.IsFull {
  18. udp.InitProcessVar()
  19. }
  20. }
  21. ul.InitOss(ul.IsLocal)
  22. }
  23. func main() {
  24. if ul.IsTool {
  25. //tool.StartToolUpdateInfo()
  26. return
  27. }
  28. lock := make(chan bool)
  29. <-lock
  30. }
  31. func test() {
  32. log.Debug("···开始验证数据···")
  33. q := map[string]interface{}{}
  34. pool_mgo := make(chan bool, 500)
  35. wg_mgo := &sync.WaitGroup{}
  36. sess := ul.SourceMgo.GetMgoConn()
  37. defer ul.SourceMgo.DestoryMongoConn(sess)
  38. total, isok := 0, 0
  39. it := sess.DB(ul.SourceMgo.DbName).C(ul.Bid_Name).Find(&q).Sort("_id").Iter()
  40. for tmp := make(map[string]interface{}); it.Next(&tmp); total++ {
  41. if total%100 == 0 {
  42. log.Debug("cur index ", total)
  43. }
  44. isok++
  45. pool_mgo <- true
  46. wg_mgo.Add(1)
  47. go func(tmp map[string]interface{}) {
  48. defer func() {
  49. <-pool_mgo
  50. wg_mgo.Done()
  51. }()
  52. data := extract.ResolveInfo(tmp)
  53. if len(data) > 0 {
  54. tmp["ai_zhipu"] = data
  55. ul.SourceMgo.Save("xxx-xxx", tmp)
  56. }
  57. }(tmp)
  58. tmp = make(map[string]interface{})
  59. }
  60. wg_mgo.Wait()
  61. log.Debug("ai is over ...")
  62. }