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