From 70917f628d3dd8d9cb257cf7adf204bfbfb1788f Mon Sep 17 00:00:00 2001 From: Hugo Melo Date: Fri, 30 Oct 2015 10:46:12 -0200 Subject: [PATCH] Increase performance creating merit actions --- script/process_merit_rules.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/script/process_merit_rules.rb b/script/process_merit_rules.rb index 468aa1c..76ad56c 100755 --- a/script/process_merit_rules.rb +++ b/script/process_merit_rules.rb @@ -35,13 +35,16 @@ end # person.sash.destroy unless person.sash.nil? #end +# avoid updating level on every action for increasing performance +Merit.observers.delete('RankObserver') + Merit.observers << 'ProcessObserver' class Article < ActiveRecord::Base def self.text_article_types # ['TextArticle', 'TextileArticle', 'TinyMceArticle', 'ProposalsDiscussionPlugin::Proposal'] ['ProposalsDiscussionPlugin::Proposal'] - end + end end Environment.all.each do |environment| @@ -56,7 +59,7 @@ Environment.all.each do |environment| article_index = 0 puts "Amount of articles '#{article_count}'" - environment.articles.where(:type => Article.text_article_types).find_each do |article| + environment.articles.includes(:comments).where(:type => Article.text_article_types).find_each(batch_size: 100) do |article| article_index += 1 puts "Analising article #{article_index} of #{article_count}" create_action(article, article_index, article_count) -- libgit2 0.21.2