From a35f8ce56f4c5df1331886256751c03046fa1e7b Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 5 Mar 2020 11:00:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=99=A2=E6=A0=A1=E8=AF=84?= =?UTF-8?q?=E6=B5=8B=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_evaluate.rake | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/tasks/sync_evaluate.rake b/lib/tasks/sync_evaluate.rake index f82d73126..14dc39b50 100644 --- a/lib/tasks/sync_evaluate.rake +++ b/lib/tasks/sync_evaluate.rake @@ -2,16 +2,18 @@ desc "同步学院或者单位评测数" namespace :sync_evaluate do task outpus_count: :environment do - School.find_each do |school| - puts school.id - evaluate_count = Game.find_by_sql("select sum(g.evaluate_count) as e_count from games g, user_extensions ue where - g.user_id = ue.user_id and ue.school_id = '#{school.id}'").first.try(:e_count) + School.find_in_batches(batch_size: 500) do |school| + Parallel.each_with_index(school, in_processes: 4) do |s| + puts "school_id:#{s.id}" + evaluate_count = Game.find_by_sql("select sum(g.evaluate_count) as e_count from games g, user_extensions ue where + g.user_id = ue.user_id and ue.school_id = '#{s.id}'").first.try(:e_count) - report = SchoolReport.find_or_initialize_by(school_id: school.id) - report.school_name = school.name - report.shixun_evaluate_count = evaluate_count + report = SchoolReport.find_or_initialize_by(school_id: s.id) + report.school_name = s.name + report.shixun_evaluate_count = evaluate_count - report.save + report.save + end end end end \ No newline at end of file