From 4fbb071e3ef260c34d883664a6d8627ce9547452 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 3 Mar 2016 19:39:07 +0200 Subject: [PATCH 1/3] 113146419-new_task --- lib/tasks/epp.rake | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/lib/tasks/epp.rake b/lib/tasks/epp.rake index e03835dad..99062994f 100644 --- a/lib/tasks/epp.rake +++ b/lib/tasks/epp.rake @@ -8,12 +8,33 @@ namespace :epp do desc 'Trim logs' task trim_documents: :environment do puts '-----> Running query' - sql = <<-SQL - UPDATE epp_logs SET request = regexp_replace(request, '', '[FILTERED]<\eis:legalDocument>'); - SQL - ApiLog::EppLog.connection.execute(sql) + puts '-----> Selecting count of all rows' - puts "-----> Query done" + rows = ApiLog::EppLog.where("request ~* ?", '') + count = rows.count + + puts "-----> Total rows #{count}" + + + i = 0 + ids = [] + + ApiLog::EppLog.where("request ~* ?", '').find_each(batch_size: 10000)do |x| + + trimmed = x.request.gsub(/]+)>([^<])+<\/eis:legalDocument>/, "[FILTERED]") + x.request = trimmed + x.save + + ids.push x.id + i += 1 + + if i = 500 + i = 0 + puts "500 rows updated #{ids.join(', ')}" + end + + end + puts "-----> Query done" end end From 334e2b1362ecb7e6230c140b0e2bdd45ac232938 Mon Sep 17 00:00:00 2001 From: Stas Date: Fri, 4 Mar 2016 17:20:34 +0200 Subject: [PATCH 2/3] 113146419-script_changes --- lib/tasks/epp.rake | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/lib/tasks/epp.rake b/lib/tasks/epp.rake index 99062994f..361bbbc68 100644 --- a/lib/tasks/epp.rake +++ b/lib/tasks/epp.rake @@ -8,33 +8,39 @@ namespace :epp do desc 'Trim logs' task trim_documents: :environment do puts '-----> Running query' - puts '-----> Selecting count of all rows' - - rows = ApiLog::EppLog.where("request ~* ?", '') - count = rows.count - - puts "-----> Total rows #{count}" + start = Time.zone.now.to_f i = 0 ids = [] + count = 0 - ApiLog::EppLog.where("request ~* ?", '').find_each(batch_size: 10000)do |x| + ApiLog::EppLog + .where("request ~* ?", '') + .where("request NOT LIKE ?", "%[FILTERED]%") + .where("request NOT LIKE ?", '%%').find_each(batch_size: 1000)do |x| - trimmed = x.request.gsub(/]+)>([^<])+<\/eis:legalDocument>/, "[FILTERED]") - x.request = trimmed - x.save + trimmed = x.request.gsub(/]+)>([^<])+<\/eis:legalDocument>/, "[FILTERED]") - ids.push x.id - i += 1 + x.request = trimmed - if i = 500 - i = 0 - puts "500 rows updated #{ids.join(', ')}" - end + x.save and ids.push x.id and i += 1 and ids.push x.id + + i += 1 + count += 1 + + if i == 100 + puts "-----> Total rows updated #{count}" + puts "Last #{i} rows ids #{ids.join(', ')}" + i = 0 + ids = [] + end end - puts "-----> Query done" + + puts "-----> Total rows updated #{count}" + puts "Last #{count} rows ids #{ids.join(', ')}" + puts "-----> Query done total #{(Time.zone.now.to_f - start).round(2)} seconds" end end From ce06a95274521392ebd9b5beed5c56979950c717 Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 7 Mar 2016 15:00:10 +0200 Subject: [PATCH 3/3] 113146419-step_size_changed --- lib/tasks/epp.rake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/tasks/epp.rake b/lib/tasks/epp.rake index 361bbbc68..380fa3248 100644 --- a/lib/tasks/epp.rake +++ b/lib/tasks/epp.rake @@ -24,12 +24,9 @@ namespace :epp do x.request = trimmed - x.save and ids.push x.id and i += 1 and ids.push x.id + x.save and count += 1 and i += 1 and ids.push x.id - i += 1 - count += 1 - - if i == 100 + if i == 500 puts "-----> Total rows updated #{count}" puts "Last #{i} rows ids #{ids.join(', ')}" i = 0