Add checking for closed disputes

This commit is contained in:
dinsmol 2022-02-08 01:53:54 +03:00
parent 5cb6b0ae1e
commit 60de343cb8
2 changed files with 15 additions and 2 deletions

View file

@ -1,6 +1,7 @@
class DisputeStatusUpdateJob < ApplicationJob class DisputeStatusUpdateJob < ApplicationJob
def perform(logger: Logger.new($stdout)) def perform(logger: Logger.new($stdout), include_closed: false)
@logger = logger @logger = logger
@include_closed = include_closed
@backlog = { 'activated': 0, 'closed': 0, 'activate_fail': [], 'close_fail': [] } @backlog = { 'activated': 0, 'closed': 0, 'activate_fail': [], 'close_fail': [] }
.with_indifferent_access .with_indifferent_access
@ -15,7 +16,11 @@ class DisputeStatusUpdateJob < ApplicationJob
end end
def close_disputes def close_disputes
disputes = Dispute.where(closed: nil).where('expires_at < ?', Time.zone.today).all disputes = if @include_closed
Dispute.where('expires_at < ?', Time.zone.today).all
else
Dispute.where(closed: nil).where('expires_at < ?', Time.zone.today).all
end
@logger.info "DisputeStatusUpdateJob - Found #{disputes.count} closable disputes" @logger.info "DisputeStatusUpdateJob - Found #{disputes.count} closable disputes"
disputes.each do |dispute| disputes.each do |dispute|
process_dispute(dispute, closing: true) process_dispute(dispute, closing: true)

View file

@ -0,0 +1,8 @@
# frozen_string_literal: true
namespace :disputes do
desc 'Check closed disputes with expired_at in the Past'
task check_closed: :environment do
DisputeStatusUpdateJob.perform_now(include_closed: true)
end
end