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