package main import ( util "app.yhyue.com/data_processing/common_utils" "app.yhyue.com/data_processing/common_utils/log" "app.yhyue.com/data_processing/field_info_tag/bidding" "field_purchasing/config" "fmt" "sync" ) func task() { sess := MongoTool.GetMgoConn() defer MongoTool.DestoryMongoConn(sess) ch := make(chan bool, 5) wg := &sync.WaitGroup{} query := sess.DB(config.Conf.DB.Mongo.Dbname).C(config.Conf.DB.Mongo.Coll).Find(nil).Iter() count := 0 for tmp := make(map[string]interface{}); query.Next(tmp); count++ { if count%500 == 0 { log.Info(fmt.Sprintf("current --- %d", count)) } ch <- true wg.Add(1) go func(tmp map[string]interface{}) { defer func() { <-ch wg.Done() }() b := bidding.ComparisonBiddingInfo(tmp) util.Debug(b) if b { } //updatePool <- []map[string]interface{}{ // {"_id": tmp["_id"]}, // {"$set": update}, //} }(tmp) tmp = make(map[string]interface{}) } wg.Wait() log.Info(fmt.Sprintf("over --- %d", count)) } // @Description 医疗领域项目信息 // @Author J 2022/11/17 11:01 func taskA(tmp map[string]interface{}) { p := make(map[string]interface{}) var plist, plist1 []map[string]interface{} for _, m := range tmp["list"].([]interface{}) { m1 := m.(map[string]interface{}) if ml, ok := m1["purchasinglist"].([]map[string]interface{}); ok && len(ml) > 0 { if util.ObjToString(tmp["bidstatus"]) == "招标" { plist = append(plist, ml...) } else { plist1 = append(plist1, ml...) } } } }