diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9724d70967..2e7cb246a5 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -684,19 +684,6 @@ Rails/ApplicationController: Exclude: - 'engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb' -# Offense count: 6 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ApplicationJob: - Exclude: - - 'app/jobs/bulk_invoice_job.rb' - - 'app/jobs/heartbeat_job.rb' - - 'app/jobs/order_cycle_closing_job.rb' - - 'app/jobs/order_cycle_notification_job.rb' - - 'app/jobs/report_job.rb' - - 'app/jobs/subscription_confirm_job.rb' - - 'app/jobs/subscription_placement_job.rb' - - 'spec/services/job_processor_spec.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/ApplicationMailer: diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb new file mode 100644 index 0000000000..2b85cac4d7 --- /dev/null +++ b/app/jobs/application_job.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# Rails standard class for common job code. +class ApplicationJob < ActiveJob::Base + # Automatically retry jobs that encountered a deadlock + # retry_on ActiveRecord::Deadlocked + + # Most jobs are safe to ignore if the underlying records are no longer available + # discard_on ActiveJob::DeserializationError +end diff --git a/app/jobs/bulk_invoice_job.rb b/app/jobs/bulk_invoice_job.rb index 29e68c1088..0957ef393a 100644 --- a/app/jobs/bulk_invoice_job.rb +++ b/app/jobs/bulk_invoice_job.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class BulkInvoiceJob < ActiveJob::Base +class BulkInvoiceJob < ApplicationJob def perform(order_ids, filepath) pdf = CombinePDF.new diff --git a/app/jobs/heartbeat_job.rb b/app/jobs/heartbeat_job.rb index bd7e864eb2..f6d237a59e 100644 --- a/app/jobs/heartbeat_job.rb +++ b/app/jobs/heartbeat_job.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class HeartbeatJob < ActiveJob::Base +class HeartbeatJob < ApplicationJob def perform Spree::Config.last_job_queue_heartbeat_at = Time.now.in_time_zone end diff --git a/app/jobs/order_cycle_closing_job.rb b/app/jobs/order_cycle_closing_job.rb index e44d0a54a1..31ca6fb2a2 100644 --- a/app/jobs/order_cycle_closing_job.rb +++ b/app/jobs/order_cycle_closing_job.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class OrderCycleClosingJob < ActiveJob::Base +class OrderCycleClosingJob < ApplicationJob def perform return if recently_closed_order_cycles.empty? diff --git a/app/jobs/order_cycle_notification_job.rb b/app/jobs/order_cycle_notification_job.rb index 2dfb731c93..c713e12472 100644 --- a/app/jobs/order_cycle_notification_job.rb +++ b/app/jobs/order_cycle_notification_job.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Delivers an email with a report of the order cycle to each of its suppliers -class OrderCycleNotificationJob < ActiveJob::Base +class OrderCycleNotificationJob < ApplicationJob def perform(order_cycle_id) order_cycle = OrderCycle.find(order_cycle_id) order_cycle.suppliers.each do |supplier| diff --git a/app/jobs/subscription_confirm_job.rb b/app/jobs/subscription_confirm_job.rb index 9bdc409a3d..ee7bacec74 100644 --- a/app/jobs/subscription_confirm_job.rb +++ b/app/jobs/subscription_confirm_job.rb @@ -3,7 +3,7 @@ require 'order_management/subscriptions/summarizer' # Confirms orders of unconfirmed proxy orders in recently closed Order Cycles -class SubscriptionConfirmJob < ActiveJob::Base +class SubscriptionConfirmJob < ApplicationJob def perform confirm_proxy_orders! end diff --git a/app/jobs/subscription_placement_job.rb b/app/jobs/subscription_placement_job.rb index 8c9caf5221..fe15e99113 100644 --- a/app/jobs/subscription_placement_job.rb +++ b/app/jobs/subscription_placement_job.rb @@ -2,7 +2,7 @@ require 'order_management/subscriptions/summarizer' -class SubscriptionPlacementJob < ActiveJob::Base +class SubscriptionPlacementJob < ApplicationJob def perform proxy_orders.each do |proxy_order| place_order_for(proxy_order) diff --git a/spec/services/job_processor_spec.rb b/spec/services/job_processor_spec.rb index 041c80d5d4..3fc4ad1677 100644 --- a/spec/services/job_processor_spec.rb +++ b/spec/services/job_processor_spec.rb @@ -8,7 +8,7 @@ MiniRacer::Platform.set_flags!(:single_threaded) require 'spec_helper' -class TestJob < ActiveJob::Base +class TestJob < ApplicationJob def initialize @file = Tempfile.new("test-job-result") super