Commit ee6ef694541baa53957df3f94c402cecca01c3dd
1 parent
51357fdd
Exists in
master
and in
1 other branch
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 | ... | ... |