MM-11434 Revert "Parallelize PreparePostListForClient"
Этот коммит содержится в:
@@ -32,28 +32,17 @@ func (a *App) InitPostMetadata() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) PreparePostListForClient(originalList *model.PostList) *model.PostList {
|
func (a *App) PreparePostListForClient(originalList *model.PostList) *model.PostList {
|
||||||
numPosts := len(originalList.Posts)
|
|
||||||
|
|
||||||
list := &model.PostList{
|
list := &model.PostList{
|
||||||
Posts: make(map[string]*model.Post, numPosts),
|
Posts: make(map[string]*model.Post, len(originalList.Posts)),
|
||||||
Order: originalList.Order, // Note that this uses the original Order array, so it isn't a deep copy
|
Order: originalList.Order, // Note that this uses the original Order array, so it isn't a deep copy
|
||||||
}
|
}
|
||||||
|
|
||||||
posts := make(chan *model.Post, numPosts)
|
for id, originalPost := range originalList.Posts {
|
||||||
|
post := a.PreparePostForClient(originalPost)
|
||||||
|
|
||||||
for _, originalPost := range originalList.Posts {
|
list.Posts[id] = post
|
||||||
go func(originalPost *model.Post) {
|
|
||||||
posts <- a.PreparePostForClient(originalPost)
|
|
||||||
}(originalPost)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < numPosts; i++ {
|
|
||||||
post := <-posts
|
|
||||||
list.Posts[post.Id] = post
|
|
||||||
}
|
|
||||||
|
|
||||||
close(posts)
|
|
||||||
|
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user