mirror of
https://github.com/internetee/registry.git
synced 2025-07-23 19:20:37 +02:00
Eliminate duplicated code from dispute update job
This commit is contained in:
parent
b4b43afa56
commit
6f95925e99
1 changed files with 21 additions and 27 deletions
|
@ -1,54 +1,48 @@
|
||||||
class DisputeStatusUpdateJob < Que::Job
|
class DisputeStatusUpdateJob < Que::Job
|
||||||
def run
|
def run
|
||||||
@backlog = { activated: 0, closed: 0, active_fail: [], close_fail: [] }
|
@backlog = { 'activated': 0, 'closed': 0, 'activate_fail': [], 'close_fail': [] }
|
||||||
|
|
||||||
close_disputes
|
close_disputes
|
||||||
activate_disputes
|
activate_disputes
|
||||||
|
|
||||||
Rails.logger.info "DisputeStatusCloseJob - All done. Closed #{@backlog[:closed]} and " \
|
Rails.logger.info "DisputeStatusUpdateJob - All done. Closed #{@backlog[:closed]} and " \
|
||||||
"activated #{@backlog[:closed]} disputes."
|
"activated #{@backlog[:closed]} disputes."
|
||||||
|
|
||||||
show_failed_disputes unless @backlog[:active_fail].empty? && @backlog[:close_fail].empty?
|
show_failed_disputes unless @backlog[:activate_fail].empty? && @backlog[:close_fail].empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
def close_disputes
|
def close_disputes
|
||||||
disputes = Dispute.where(closed: false).where('expires_at < ?', Time.zone.today).all
|
disputes = Dispute.where(closed: false).where('expires_at < ?', Time.zone.today).all
|
||||||
Rails.logger.info "DisputeStatusCloseJob - Found #{disputes.count} closable disputes"
|
Rails.logger.info "DisputeStatusUpdateJob - Found #{disputes.count} closable disputes"
|
||||||
disputes.each do |dispute|
|
disputes.each do |dispute|
|
||||||
close_dispute(dispute)
|
process_dispute(dispute, closing: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def activate_disputes
|
def activate_disputes
|
||||||
disputes = Dispute.where(closed: false, starts_at: Time.zone.today).all
|
disputes = Dispute.where(closed: false, starts_at: Time.zone.today).all
|
||||||
Rails.logger.info "DisputeStatusCloseJob - Found #{disputes.count} activatable disputes"
|
Rails.logger.info "DisputeStatusUpdateJob - Found #{disputes.count} activatable disputes"
|
||||||
|
|
||||||
disputes.each do |dispute|
|
disputes.each do |dispute|
|
||||||
activate_dispute(dispute)
|
process_dispute(dispute, closing: false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def close_dispute(dispute)
|
def process_dispute(dispute, closing: false)
|
||||||
if dispute.close
|
intent = closing ? 'close' : 'activate'
|
||||||
Rails.logger.info 'DisputeStatusCloseJob - Closed dispute ' \
|
success = closing ? dispute.close : dispute.generate_data
|
||||||
"##{dispute.id} for '#{dispute.domain_name}'"
|
create_backlog_entry(dispute: dispute, intent: intent, successful: success)
|
||||||
@backlog[:closed] += 1
|
|
||||||
else
|
|
||||||
Rails.logger.info 'DisputeStatusCloseJob - Failed to close dispute ' \
|
|
||||||
"##{dispute.id} for '#{dispute.domain_name}'"
|
|
||||||
@backlog[:close_fail] << dispute.id
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def activate_dispute(dispute)
|
def create_backlog_entry(dispute:, intent:, successful:)
|
||||||
if dispute.generate_data
|
if successful
|
||||||
Rails.logger.info 'DisputeStatusCloseJob - Activated dispute ' \
|
@backlog["#{intent}d"] << dispute.id
|
||||||
"##{dispute.id} for '#{dispute.domain_name}'"
|
Rails.logger.info "DisputeStatusUpdateJob - #{intent}d dispute " \
|
||||||
@backlog[:activated] += 1
|
" for '#{dispute.domain_name}'"
|
||||||
else
|
else
|
||||||
Rails.logger.info 'DisputeStatusCloseJob - Failed to activate dispute ' \
|
@backlog["#{intent}_fail"] << dispute.id
|
||||||
"##{dispute.id} for '#{dispute.domain_name}'"
|
Rails.logger.info 'DisputeStatusUpdateJob - Failed to' \
|
||||||
@backlog[:active_fail] << dispute.id
|
"#{intent} dispute for '#{dispute.domain_name}'"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -58,9 +52,9 @@ class DisputeStatusUpdateJob < Que::Job
|
||||||
"#{@backlog[:close_fail]}")
|
"#{@backlog[:close_fail]}")
|
||||||
end
|
end
|
||||||
|
|
||||||
return unless @backlog[:active_fail].any?
|
return unless @backlog[:activate_fail].any?
|
||||||
|
|
||||||
Rails.logger.info('DisputeStatuseCloseJob - Failed to activate disputes with Ids:' \
|
Rails.logger.info('DisputeStatuseCloseJob - Failed to activate disputes with Ids:' \
|
||||||
"#{@backlog[:active_fail]}")
|
"#{@backlog[:activate_fail]}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue