related tags: disable safe mode while generating related tags.
Also bump timeouts slightly.
This commit is contained in:
@@ -29,4 +29,14 @@ module RelatedTagCalculator
|
||||
tags_with_counts = posts.flat_map(&:tag_array).group_by(&:itself).transform_values(&:size)
|
||||
tags_with_counts.sort_by { |tag_name, count| [-count, tag_name] }.map(&:first)
|
||||
end
|
||||
|
||||
def self.cached_similar_tags_for_search(tag_query, max_tags, search_timeout: 2000, cache_timeout: 8.hours)
|
||||
Cache.get("similar_tags:#{tag_query}", cache_timeout, race_condition_ttl: 60.seconds) do
|
||||
ApplicationRecord.with_timeout(search_timeout, []) do
|
||||
CurrentUser.without_safe_mode do
|
||||
RelatedTagCalculator.similar_tags_for_search(tag_query).take(max_tags).pluck(:name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -40,11 +40,7 @@ module PostSetPresenters
|
||||
end
|
||||
|
||||
def similar_tags
|
||||
Cache.get("similar_tags:#{post_set.tag_string}", 4.hours, race_condition_ttl: 60.seconds) do
|
||||
ApplicationRecord.with_timeout(1_000, []) do
|
||||
RelatedTagCalculator.similar_tags_for_search(post_set.tag_string).take(MAX_TAGS).pluck(:name)
|
||||
end
|
||||
end
|
||||
RelatedTagCalculator.cached_similar_tags_for_search(post_set.tag_string, MAX_TAGS)
|
||||
end
|
||||
|
||||
def frequent_tags
|
||||
|
||||
Reference in New Issue
Block a user