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 5 task(:invalidate_votes_with_bad_response_times => :environment) do
6 6 badvotes = []
7 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 10 next if v.nil? || v.appearance.nil?
10 11 server_response_time = v.created_at.to_f - v.appearance.created_at.to_f
11 12 if v.time_viewed && v.time_viewed/1000 > server_response_time
12 13 badvotes << v
13   - puts "."
  14 + print "."
14 15 end
15 16 end
16 17 puts "\n"
17 18  
18 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 21 badvotes.each do |v|
27 22 v.time_viewed = nil
... ...