in search-algolia/sync.go [28:73]
func (s *SearchAlgolia) sync() {
var page, pageSize = 1, 100
go func() {
log.Info("algolia: start sync questions...")
page = 1
for {
log.Infof("algolia: sync question page %d, page size %d", page, pageSize)
questionList, err := s.syncer.GetQuestionsPage(context.TODO(), page, pageSize)
if err != nil {
log.Error("algolia: sync questions error", err)
break
}
if len(questionList) == 0 {
break
}
err = s.batchUpdateContent(context.TODO(), questionList)
if err != nil {
log.Error("algolia: sync questions error", err)
}
page += 1
}
log.Info("algolia: start sync answers...")
page = 1
for {
log.Infof("algolia: sync answer page %d, page size %d", page, pageSize)
answerList, err := s.syncer.GetAnswersPage(context.TODO(), page, pageSize)
if err != nil {
log.Error("algolia: sync answers error", err)
break
}
if len(answerList) == 0 {
break
}
err = s.batchUpdateContent(context.TODO(), answerList)
if err != nil {
log.Error("algolia: sync answers error", err)
}
page += 1
}
log.Info("algolia: sync done")
}()
}