From c4b196ac8b50df3fca33d14c4a308de32166dd5d Mon Sep 17 00:00:00 2001 From: r888888888 Date: Thu, 10 Mar 2016 11:02:26 -0800 Subject: [PATCH] add tag info to newrelic timeout errors --- app/logical/related_tag_calculator.rb | 6 +++--- app/models/post.rb | 4 ++-- app/models/tag.rb | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/logical/related_tag_calculator.rb b/app/logical/related_tag_calculator.rb index cdfc3c4c0..7a111b81f 100644 --- a/app/logical/related_tag_calculator.rb +++ b/app/logical/related_tag_calculator.rb @@ -1,7 +1,7 @@ class RelatedTagCalculator def self.find_tags(tag, limit) CurrentUser.without_safe_mode do - Post.with_timeout(5_000, []) do + Post.with_timeout(5_000, [], {:tags => tag}) do Post.tag_match(tag).limit(limit).reorder("posts.md5").pluck(:tag_string) end end @@ -40,7 +40,7 @@ class RelatedTagCalculator counts = Hash.new {|h, k| h[k] = 0} CurrentUser.without_safe_mode do - Post.with_timeout(5_000, []) do + Post.with_timeout(5_000, [], {:tags => tag}) do Post.tag_match(tag).limit(400).reorder("posts.md5").pluck(:tag_string).each do |tag_string| tag_string.scan(/\S+/).each do |tag| counts[tag] += 1 @@ -53,7 +53,7 @@ class RelatedTagCalculator candidates = convert_hash_to_array(counts, 100) similar_counts = Hash.new {|h, k| h[k] = 0} CurrentUser.without_safe_mode do - PostReadOnly.with_timeout(5_000) do + PostReadOnly.with_timeout(5_000, nil, {:tags => tag}) do candidates.each do |ctag, _| acount = PostReadOnly.tag_match("#{tag} #{ctag}").count ctag_record = Tag.find_by_name(ctag) diff --git a/app/models/post.rb b/app/models/post.rb index 8e2c3cf74..9e72eb4c1 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1061,7 +1061,7 @@ class Post < ActiveRecord::Base end def fast_count_search(tags, options = {}) - count = PostReadOnly.with_timeout(3_000, nil) do + count = PostReadOnly.with_timeout(3_000, nil, {:tags => tags}) do PostReadOnly.tag_match(tags).count end @@ -1083,7 +1083,7 @@ class Post < ActiveRecord::Base i = Post.maximum(:id) sum = 0 while i > 0 - count = PostReadOnly.with_timeout(1_000, nil) do + count = PostReadOnly.with_timeout(1_000, nil, {:tags => tags}) do sum += PostReadOnly.tag_match(tags).where("id <= ? and id > ?", i, i - 25_000).count i -= 25_000 end diff --git a/app/models/tag.rb b/app/models/tag.rb index 803ed8b4f..b5bd32ef4 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -130,7 +130,7 @@ class Tag < ActiveRecord::Base end def update_category_post_counts - Post.with_timeout(30_000, nil) do + Post.with_timeout(30_000, nil, {:tags => name}) do Post.raw_tag_match(name).where("true /* Tag#update_category_post_counts */").find_each do |post| post.reload post.set_tag_counts