From 31bfe19d77c254e214c25f9efb7ecc90c1dfb8a6 Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Thu, 26 Nov 2020 14:07:02 +0500 Subject: [PATCH] Move DomainUpdateConfirm from Que to ActiveJob --- app/jobs/application_job.rb | 2 ++ app/jobs/domain_update_confirm_job.rb | 7 ++++--- app/models/registrant_verification.rb | 4 ++-- test/jobs/domain_update_confirm_job_test.rb | 8 ++++---- 4 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 app/jobs/application_job.rb diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb new file mode 100644 index 000000000..a009ace51 --- /dev/null +++ b/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/app/jobs/domain_update_confirm_job.rb b/app/jobs/domain_update_confirm_job.rb index f3665f1e8..2025354e6 100644 --- a/app/jobs/domain_update_confirm_job.rb +++ b/app/jobs/domain_update_confirm_job.rb @@ -1,5 +1,7 @@ -class DomainUpdateConfirmJob < Que::Job - def run(domain_id, action, initiator = nil) +class DomainUpdateConfirmJob < ApplicationJob + queue_as :default + + def perform(domain_id, action, initiator = nil) ::PaperTrail.request.whodunnit = "job - #{self.class.name} - #{action} by #{initiator}" # it's recommended to keep transaction against job table as short as possible. ActiveRecord::Base.transaction do @@ -27,7 +29,6 @@ class DomainUpdateConfirmJob < Que::Job domain.preclean_pendings domain.clean_pendings! end - destroy # it's best to destroy the job in the same transaction end end diff --git a/app/models/registrant_verification.rb b/app/models/registrant_verification.rb index 097f0cfa9..7e238cecc 100644 --- a/app/models/registrant_verification.rb +++ b/app/models/registrant_verification.rb @@ -18,13 +18,13 @@ class RegistrantVerification < ApplicationRecord def domain_registrant_change_confirm!(initiator) self.action_type = DOMAIN_REGISTRANT_CHANGE self.action = CONFIRMED - DomainUpdateConfirmJob.enqueue domain.id, CONFIRMED, initiator if save + DomainUpdateConfirmJob.perform_later domain.id, CONFIRMED, initiator if save end def domain_registrant_change_reject!(initiator) self.action_type = DOMAIN_REGISTRANT_CHANGE self.action = REJECTED - DomainUpdateConfirmJob.run domain.id, REJECTED, initiator if save + DomainUpdateConfirmJob.perform_later domain.id, REJECTED, initiator if save end def domain_registrant_delete_confirm!(initiator) diff --git a/test/jobs/domain_update_confirm_job_test.rb b/test/jobs/domain_update_confirm_job_test.rb index 9cca81eb7..f01e7c41e 100644 --- a/test/jobs/domain_update_confirm_job_test.rb +++ b/test/jobs/domain_update_confirm_job_test.rb @@ -20,7 +20,7 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase end def test_rejected_registrant_verification_notifies_registrar - DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED) + DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::REJECTED) last_registrar_notification = @domain.registrar.notifications.last assert_equal(last_registrar_notification.attached_obj_id, @domain.id) @@ -28,7 +28,7 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase end def test_accepted_registrant_verification_notifies_registrar - DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED) + DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::CONFIRMED) last_registrar_notification = @domain.registrar.notifications.last assert_equal(last_registrar_notification.attached_obj_id, @domain.id) @@ -44,7 +44,7 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase @domain.update(pending_json: @domain.pending_json) @domain.reload - DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED) + DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::CONFIRMED) @domain.reload assert_equal @domain.registrant.code, @new_registrant.code @@ -58,7 +58,7 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase @domain.pending_json['frame'] = epp_xml @domain.update(pending_json: @domain.pending_json) - DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED) + DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::REJECTED) @domain.reload assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION