aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/app/jobs/active_storage/purge_job.rb
blob: 5ceb222005cd867d7354f14f2dc30fa664624c4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
# frozen_string_literal: true

# Provides asynchronous purging of ActiveStorage::Blob records via ActiveStorage::Blob#purge_later.
class ActiveStorage::PurgeJob < ActiveStorage::BaseJob
  queue_as { ActiveStorage.queues[:purge] }

  discard_on ActiveRecord::RecordNotFound
  retry_on ActiveRecord::Deadlocked, attempts: 10, wait: :exponentially_longer

  def perform(blob)
    blob.purge
  end
end