diff --git a/api/gorse.go b/api/gorse.go index 2c614b8..0fd2508 100644 --- a/api/gorse.go +++ b/api/gorse.go @@ -50,10 +50,12 @@ func PutImages(page int) error { } // 同步点赞数据 -func PutPraises(page int) error { +func PutPraises() { var ctx context.Context = context.Background() - for i := 0; i < page; i++ { + for { + time.Sleep(1 * time.Second) + var feedbacks []client.Feedback var data []struct { ID int @@ -64,12 +66,11 @@ func PutPraises(page int) error { if err := db.Table("web_praise").Select("id", "praise_id", "user_id", "create_time").Where("gorse = false").Where("type = ?", 4).Limit(100).Scan(&data).Error; err != nil { fmt.Println("获取图像点赞记录失败", err) - return err + return } var ids []int for _, item := range data { - fmt.Println(item.ID, item.UserID, item.PraiseID, item.CreateTime) feedbacks = append(feedbacks, client.Feedback{ FeedbackType: "like", UserId: fmt.Sprintf("%d", item.UserID), @@ -79,19 +80,22 @@ func PutPraises(page int) error { ids = append(ids, item.ID) } - if err := db.Table("web_praise").Where("id in (?)", data).Update("gorse", true).Error; err != nil { + if err := db.Table("web_praise").Where("id in (?)", ids).Update("gorse", true).Error; err != nil { fmt.Println("更新点赞记录失败", err) - return err + return } if _, err := gorse.InsertFeedback(ctx, feedbacks); err != nil { fmt.Println("写入点赞记录失败", err) - return err + return + } + + fmt.Println("写入点赞记录结束", len(ids)) + + if len(data) < 100 { + time.Sleep(60 * time.Second) } } - - fmt.Println("写入点赞记录结束..", page*100) - return nil } // 同步收藏数据 diff --git a/bin/main.go b/bin/main.go index 89cdc2b..31d07a5 100644 --- a/bin/main.go +++ b/bin/main.go @@ -106,6 +106,8 @@ func main() { if config.GetBool("gorse.open") { fmt.Println("开启用户偏好收集") api.GorseInit(config.GetString("gorse.host"), config.GetInt("gorse.port")) + fmt.Println("同步点赞数据") + go api.PutPraises() } schema, err := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(graphql.ObjectConfig{Name: "RootQuery", Fields: graphql.Fields{