Class: Spree::BaseJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/spree/base_job.rb

Overview

Shared base for every Spree job.

Retries only transient infrastructure errors. Broad replay is unsafe here because most jobs have non-idempotent post-work side effects (counters, state transitions, lifecycle events, external calls); jobs whose work is retry-safe opt in to ‘retry_on StandardError` themselves (see `Spree::WebhookDeliveryJob`, `Spree::Events::SubscriberJob`). RecordNotFound gets its own tighter policy to absorb the Sidekiq enqueue-vs-DB-commit race (sub-second window) without holding the queue for genuine deletes.