From bfcf21e9154de3fcfc1d9de3f4458fbf0c1caa5c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 27 Oct 2025 15:22:54 +0100 Subject: [PATCH] Fix vacuums being interrupted by a single batch failure (#36606) --- app/lib/vacuum/media_attachments_vacuum.rb | 4 ++++ app/lib/vacuum/preview_cards_vacuum.rb | 2 ++ 2 files changed, 6 insertions(+) diff --git a/app/lib/vacuum/media_attachments_vacuum.rb b/app/lib/vacuum/media_attachments_vacuum.rb index e55819529..f9dc62d86 100644 --- a/app/lib/vacuum/media_attachments_vacuum.rb +++ b/app/lib/vacuum/media_attachments_vacuum.rb @@ -17,12 +17,16 @@ class Vacuum::MediaAttachmentsVacuum def vacuum_cached_files! media_attachments_past_retention_period.find_in_batches do |media_attachments| AttachmentBatch.new(MediaAttachment, media_attachments).clear + rescue => e + Rails.logger.error("Skipping batch while removing cached media attachments due to error: #{e}") end end def vacuum_orphaned_records! orphaned_media_attachments.find_in_batches do |media_attachments| AttachmentBatch.new(MediaAttachment, media_attachments).delete + rescue => e + Rails.logger.error("Skipping batch while removing orphaned media attachments due to error: #{e}") end end diff --git a/app/lib/vacuum/preview_cards_vacuum.rb b/app/lib/vacuum/preview_cards_vacuum.rb index 9e34c87c3..cc1c9efba 100644 --- a/app/lib/vacuum/preview_cards_vacuum.rb +++ b/app/lib/vacuum/preview_cards_vacuum.rb @@ -16,6 +16,8 @@ class Vacuum::PreviewCardsVacuum def vacuum_cached_images! preview_cards_past_retention_period.find_in_batches do |preview_card| AttachmentBatch.new(PreviewCard, preview_card).clear + rescue => e + Rails.logger.error("Skipping batch while removing cached preview cards due to error: #{e}") end end