From e44d56e4d255e5f457e7e001f5125073b09cd458 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Thu, 1 Aug 2019 23:54:06 +0530 Subject: [PATCH] DEV: raise error only when 'STOP_ON_ERROR' env variable is available. --- lib/tasks/uploads.rake | 5 +++-- lib/upload_recovery.rb | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/tasks/uploads.rake b/lib/tasks/uploads.rake index 3c4dc29ef57..bf7b539b543 100644 --- a/lib/tasks/uploads.rake +++ b/lib/tasks/uploads.rake @@ -898,12 +898,13 @@ task "uploads:recover" => :environment do require_dependency "upload_recovery" dry_run = ENV["DRY_RUN"].present? + stop_on_error = ENV["STOP_ON_ERROR"].present? if ENV["RAILS_DB"] - UploadRecovery.new(dry_run: dry_run).recover + UploadRecovery.new(dry_run: dry_run, stop_on_error: stop_on_error).recover else RailsMultisite::ConnectionManagement.each_connection do |db| - UploadRecovery.new(dry_run: dry_run).recover + UploadRecovery.new(dry_run: dry_run, stop_on_error: stop_on_error).recover end end end diff --git a/lib/upload_recovery.rb b/lib/upload_recovery.rb index 5b3fd5b0c14..95af2dcedd9 100644 --- a/lib/upload_recovery.rb +++ b/lib/upload_recovery.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true class UploadRecovery - def initialize(dry_run: false) + def initialize(dry_run: false, stop_on_error: false) @dry_run = dry_run + @stop_on_error = stop_on_error end def recover(posts = Post) @@ -40,7 +41,7 @@ class UploadRecovery end end rescue => e - raise e unless @dry_run + raise e if @stop_on_error puts "#{post.full_url} #{e.class}: #{e.message}" end end