Modify force_delete procedure to set clientHold only by job

This commit is contained in:
Alex Sherman 2019-12-16 16:50:25 +05:00
parent b9575661eb
commit a815e943d3
4 changed files with 69 additions and 13 deletions

View file

@ -78,4 +78,46 @@ class DomainCron
STDOUT << "#{Time.zone.now.utc} - Successfully set server_hold to #{marked} of #{real} domains\n" unless Rails.env.test?
marked
end
def self.start_client_hold
log_prepare_client_hold
::PaperTrail.whodunnit = "cron - #{__method__}"
marked = 0
real = 0
Domain.force_delete_scheduled.each do |domain|
next unless domain.client_holdable?
real += 1
domain.statuses << DomainStatus::CLIENT_HOLD
log_start_client_hold(domain)
domain.save(validate: false) and marked += 1
end
log_end_end_client_hold(marked: marked, real: real)
marked
end
def self.log_prepare_client_hold
return if Rails.env.test?
STDOUT << "#{Time.zone.now.utc} - Setting client_hold to domains\n"
end
def self.log_start_client_hold(domain)
return if Rails.env.test?
STDOUT << "#{Time.zone.now.utc} DomainCron.start_client_hold: ##{domain.id} (#{domain.name})"\
"#{domain.changes}\n"
end
def self.log_end_end_client_hold(marked:, real:)
return if Rails.env.test?
STDOUT << "#{Time.zone.now.utc} - Successfully set client_hold to #{marked} of #{real} "\
"domains\n"
end
end