Skip to content
Snippets Groups Projects
Unverified Commit 94e5e834 authored by Eugen Rochko's avatar Eugen Rochko Committed by GitHub
Browse files

Improve performance of list of blocked domains by caching counts (#10374)

parent a96181f1
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@ class Instance
def initialize(resource)
@domain = resource.domain
@accounts_count = resource.accounts_count
@accounts_count = resource.is_a?(DomainBlock) ? nil : resource.accounts_count
@domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.find_by(domain: domain)
end
......@@ -15,6 +15,10 @@ class Instance
Rails.cache.fetch("#{cache_key}/sample_accounts", expires_in: 12.hours) { Account.where(domain: domain).searchable.joins(:account_stat).popular.limit(3) }
end
def cached_accounts_count
@accounts_count || Rails.cache.fetch("#{cache_key}/count", expires_in: 12.hours) { Account.where(domain: domain).count }
end
def to_param
domain
end
......
......@@ -33,7 +33,7 @@
%h4
= instance.domain
%small
= t('admin.instances.known_accounts', count: instance.accounts_count)
= t('admin.instances.known_accounts', count: instance.cached_accounts_count)
- if instance.domain_block
- if !instance.domain_block.noop?
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment