Commit c390551c2d91bf73bded7116075040d26ec8e5b1
1 parent
d97a67f0
Exists in
master
and in
1 other branch
add comments in various places and fix bug
bug was in looking for length < 1000 instead of batchsize
Showing
1 changed file
with
7 additions
and
2 deletions
Show diff stats
lib/tasks/prune_db.rake
... | ... | @@ -26,6 +26,8 @@ namespace :prune_db do |
26 | 26 | end |
27 | 27 | end |
28 | 28 | |
29 | + # There is a very similar task in the AOI code base as well. | |
30 | + # Any core changes to this task should probably be reflected there. | |
29 | 31 | desc "Converts all dates from PT to UTC" |
30 | 32 | task :convert_dates_to_utc, [:workerid, :workers] => [:environment] do|t,args| |
31 | 33 | args.with_defaults(:workerid => "0", :workers => "1") |
... | ... | @@ -109,6 +111,9 @@ namespace :prune_db do |
109 | 111 | batch_size = 10000 |
110 | 112 | i = 0 |
111 | 113 | where = '' |
114 | + # This is how we split the rows of a table between the various workers | |
115 | + # so that they don't attempt to work on the same row as another worker. | |
116 | + # The workerid is any number 0 through workers - 1. | |
112 | 117 | if args[:workers] > "1" |
113 | 118 | where = "WHERE MOD(id, #{args[:workers]}) = #{args[:workerid]}" |
114 | 119 | end |
... | ... | @@ -120,7 +125,7 @@ namespace :prune_db do |
120 | 125 | |
121 | 126 | rows.each do |row| |
122 | 127 | updated_values = {} |
123 | - # delete any value where the value is blank | |
128 | + # delete any value where the value is blank (just for delayed_jobs) | |
124 | 129 | row.delete_if {|key, value| value.blank? } |
125 | 130 | row.each do |column, value| |
126 | 131 | next if column == "id" |
... | ... | @@ -162,7 +167,7 @@ namespace :prune_db do |
162 | 167 | end |
163 | 168 | |
164 | 169 | i+= 1 |
165 | - break if rows.length < 1000 | |
170 | + break if rows.length < batchsize | |
166 | 171 | end |
167 | 172 | print "\n" |
168 | 173 | end | ... | ... |