package main import ( "sync" "91porn-server/common/elastic" "91porn-server/common/log" "91porn-server/models" "91porn-server/models/v/vidmod" "91porn-server/skd/skdg" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo/options" ) func syncVideoInfo(wg *sync.WaitGroup) { log.Info("video sync start...") for i := int64(0); ; i++ { opts := options.Find().SetSkip(i * 1000).SetLimit(1000).SetSort(bson.D{{Key: "_id", Value: 1}}) vd, err := vidmod.GetListByCond(bson.M{}, opts) if err != nil { panic(err) } var source = elastic.M{} for i := range vd { tmp := vd[i] source[vd[i].ID.Hex()] = tmp } if err := skdg.VideoES.Bulk(models.ESInfoVideoTable, source); err != nil { panic(err) } vdLen := len(vd) if vdLen < 1000 { break } log.Info("video sync:", log.Any("start", i*1000), log.Any("end", i*1000+int64(vdLen))) } log.Info("video sync complete...") wg.Done() }