Class: Spree::BaseJob
- Inherits:
-
ApplicationJob
- Object
- ApplicationJob
- Spree::BaseJob
- 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.
Direct Known Subclasses
Addresses::GeocodeAddressJob, CouponCodes::BulkGenerateJob, Events::SubscriberJob, Exports::GenerateJob, GiftCards::BulkGenerateJob, Images::SaveFromUrlJob, Imports::BaseJob, Media::MigrateProductAssetsJob, Payments::HandleWebhookJob, Products::AutoMatchTaxonsJob, Products::RefreshMetricsJob, Products::TouchTaxonsJob, Reports::GenerateJob, SearchProvider::IndexJob, SearchProvider::RemoveJob, StockLocations::StockItems::CreateJob, StockReservations::ExpireJob, Variants::RemoveFromIncompleteOrdersJob, Variants::RemoveLineItemJob, Variants::TouchJob