diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-10-06 22:11:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-06 22:11:17 +0200 |
commit | f665901e3c0930fb8b3741f6bc6f6a15dd0343f6 (patch) | |
tree | 1cd9cd66d5af6d23ac5ef834fd85ad9b803c1f99 /app/controllers/api/v1 | |
parent | efda126914bf409ca07a9446415b508811a58022 (diff) |
Fix performance of home feed regeneration (#12084)
Fetching statuses from all followed accounts at once takes too long within Postgres. Fetching them one by one and merging in Ruby could be a lot less resource-intensive Because the query for dynamically fetching the home timeline is so heavy, we can no longer offer it when the home timeline is missing
Diffstat (limited to 'app/controllers/api/v1')
-rw-r--r-- | app/controllers/api/v1/timelines/home_controller.rb | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/app/controllers/api/v1/timelines/home_controller.rb b/app/controllers/api/v1/timelines/home_controller.rb index fcd0757f1..ff5ede138 100644 --- a/app/controllers/api/v1/timelines/home_controller.rb +++ b/app/controllers/api/v1/timelines/home_controller.rb @@ -13,7 +13,7 @@ class Api::V1::Timelines::HomeController < Api::BaseController render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - status: regeneration_in_progress? ? 206 : 200 + status: account_home_feed.regenerating? ? 206 : 200 end private @@ -62,8 +62,4 @@ class Api::V1::Timelines::HomeController < Api::BaseController def pagination_since_id @statuses.first.id end - - def regeneration_in_progress? - Redis.current.exists("account:#{current_account.id}:regeneration") - end end |