DEV: raise error only when 'STOP_ON_ERROR' env variable is available.

This commit is contained in:
Vinoth Kannan 2019-08-01 23:54:06 +05:30
parent 6f367dde26
commit e44d56e4d2
2 changed files with 6 additions and 4 deletions

View File

@ -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

View File

@ -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