Class: GeneratedImageCleanupWorker
- Inherits:
-
Object
- Object
- GeneratedImageCleanupWorker
- Includes:
- Sidekiq::Worker
- Defined in:
- app/workers/generated_image_cleanup_worker.rb
Overview
Cleans up stale GeneratedImage records and their orphaned ImageKit assets.
A record is stale when it has been +pending+ for longer than
GeneratedImage::STALE_AFTER (default 48 hours) — meaning the user never
acted on the review page.
The embryonic ImageKit asset is deleted first, then the DB record is
destroyed. Scheduled daily via config/sidekiq_production_schedule.yml.
Instance Method Summary collapse
Instance Method Details
#perform ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/workers/generated_image_cleanup_worker.rb', line 17 def perform stale = GeneratedImage.stale.to_a if stale.empty? Rails.logger.info '[GeneratedImageCleanupWorker] No stale records to clean up' return end Rails.logger.info "[GeneratedImageCleanupWorker] Cleaning #{stale.size} stale record(s)" deleted = 0 errored = 0 stale.each do |gen| gen.delete_ik_asset! gen.destroy deleted += 1 rescue StandardError => e errored += 1 Rails.logger.error "[GeneratedImageCleanupWorker] Failed to clean GeneratedImage #{gen.id}: #{e.}" ErrorReporting.warning(e) if defined?(ErrorReporting) end Rails.logger.info "[GeneratedImageCleanupWorker] Done — deleted: #{deleted}, errors: #{errored}" end |