From 60de343cb890479b3138eec1eaab0cb055ec82d5 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Tue, 8 Feb 2022 01:53:54 +0300 Subject: [PATCH] Add checking for closed disputes --- app/jobs/dispute_status_update_job.rb | 9 +++++++-- lib/tasks/check_closed_disputes.rake | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 lib/tasks/check_closed_disputes.rake diff --git a/app/jobs/dispute_status_update_job.rb b/app/jobs/dispute_status_update_job.rb index 5e42f29e1..3051b0ce3 100644 --- a/app/jobs/dispute_status_update_job.rb +++ b/app/jobs/dispute_status_update_job.rb @@ -1,6 +1,7 @@ class DisputeStatusUpdateJob < ApplicationJob - def perform(logger: Logger.new($stdout)) + def perform(logger: Logger.new($stdout), include_closed: false) @logger = logger + @include_closed = include_closed @backlog = { 'activated': 0, 'closed': 0, 'activate_fail': [], 'close_fail': [] } .with_indifferent_access @@ -15,7 +16,11 @@ class DisputeStatusUpdateJob < ApplicationJob end 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" disputes.each do |dispute| process_dispute(dispute, closing: true) diff --git a/lib/tasks/check_closed_disputes.rake b/lib/tasks/check_closed_disputes.rake new file mode 100644 index 000000000..52f863c69 --- /dev/null +++ b/lib/tasks/check_closed_disputes.rake @@ -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