Commit ee6ef694541baa53957df3f94c402cecca01c3dd

Authored by Luke Baker
1 parent 51357fdd

update invalidate_votes_with_bad_response_times

* do batches of 10000
* print instead of puts
* remove confirmation since we'll be running this weekly from cron
Showing 1 changed file with 3 additions and 8 deletions   Show diff stats
lib/tasks/prune_db.rake
@@ -5,23 +5,18 @@ namespace :prune_db do @@ -5,23 +5,18 @@ namespace :prune_db do
5 task(:invalidate_votes_with_bad_response_times => :environment) do 5 task(:invalidate_votes_with_bad_response_times => :environment) do
6 badvotes = [] 6 badvotes = []
7 #might want to optimize later to not start from the beginning each time 7 #might want to optimize later to not start from the beginning each time
8 - Vote.find_each(:batch_size => 1000, :include => :appearance) do |v| 8 + STDOUT.sync = true
  9 + Vote.find_each(:batch_size => 10000, :include => :appearance) do |v|
9 next if v.nil? || v.appearance.nil? 10 next if v.nil? || v.appearance.nil?
10 server_response_time = v.created_at.to_f - v.appearance.created_at.to_f 11 server_response_time = v.created_at.to_f - v.appearance.created_at.to_f
11 if v.time_viewed && v.time_viewed/1000 > server_response_time 12 if v.time_viewed && v.time_viewed/1000 > server_response_time
12 badvotes << v 13 badvotes << v
13 - puts "." 14 + print "."
14 end 15 end
15 end 16 end
16 puts "\n" 17 puts "\n"
17 18
18 if badvotes.any? 19 if badvotes.any?
19 - puts "You are about to change #{badvotes.size} votes. Are you sure you want to proceed? (y/N)"  
20 - choice = $stdin.gets  
21 -  
22 - unless choice.chomp.downcase == "y"  
23 - return  
24 - end  
25 20
26 badvotes.each do |v| 21 badvotes.each do |v|
27 v.time_viewed = nil 22 v.time_viewed = nil