summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/lib/vacuum/media_attachments_vacuum.rb2
-rw-r--r--app/lib/vacuum/preview_cards_vacuum.rb9
-rw-r--r--app/workers/scheduler/vacuum_scheduler.rb2
-rw-r--r--config/initializers/sidekiq.rb1
-rw-r--r--spec/lib/vacuum/preview_cards_vacuum_spec.rb4
5 files changed, 3 insertions, 15 deletions
diff --git a/app/lib/vacuum/media_attachments_vacuum.rb b/app/lib/vacuum/media_attachments_vacuum.rb
index 7fb347ce4d5..7c0a85a9d92 100644
--- a/app/lib/vacuum/media_attachments_vacuum.rb
+++ b/app/lib/vacuum/media_attachments_vacuum.rb
@@ -8,8 +8,8 @@ class Vacuum::MediaAttachmentsVacuum
end
def perform
- vacuum_cached_files! if retention_period?
vacuum_orphaned_records!
+ vacuum_cached_files! if retention_period?
end
private
diff --git a/app/lib/vacuum/preview_cards_vacuum.rb b/app/lib/vacuum/preview_cards_vacuum.rb
index 84ef100ed94..14fdeda1ca9 100644
--- a/app/lib/vacuum/preview_cards_vacuum.rb
+++ b/app/lib/vacuum/preview_cards_vacuum.rb
@@ -9,7 +9,6 @@ class Vacuum::PreviewCardsVacuum
def perform
vacuum_cached_images! if retention_period?
- vacuum_orphaned_records!
end
private
@@ -21,18 +20,10 @@ class Vacuum::PreviewCardsVacuum
end
end
- def vacuum_orphaned_records!
- orphaned_preview_cards.in_batches.destroy_all
- end
-
def preview_cards_past_retention_period
PreviewCard.cached.where(PreviewCard.arel_table[:updated_at].lt(@retention_period.ago))
end
- def orphaned_preview_cards
- PreviewCard.where('NOT EXISTS (SELECT 1 FROM preview_cards_statuses WHERE preview_cards_statuses.preview_card_id = preview_cards.id)').where(PreviewCard.arel_table[:created_at].lt(TTL.ago))
- end
-
def retention_period?
@retention_period.present?
end
diff --git a/app/workers/scheduler/vacuum_scheduler.rb b/app/workers/scheduler/vacuum_scheduler.rb
index ce88ff204d3..9544f808bf9 100644
--- a/app/workers/scheduler/vacuum_scheduler.rb
+++ b/app/workers/scheduler/vacuum_scheduler.rb
@@ -3,7 +3,7 @@
class Scheduler::VacuumScheduler
include Sidekiq::Worker
- sidekiq_options retry: 0
+ sidekiq_options retry: 0, lock: :until_executed
def perform
vacuum_operations.each do |operation|
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index c1327053df7..9d2abf0745e 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -35,4 +35,5 @@ SidekiqUniqueJobs.configure do |config|
config.reaper_count = 1000
config.reaper_interval = 600
config.reaper_timeout = 150
+ config.lock_ttl = 50.days.to_i
end
diff --git a/spec/lib/vacuum/preview_cards_vacuum_spec.rb b/spec/lib/vacuum/preview_cards_vacuum_spec.rb
index 4a4a599fa47..275f9ba92fa 100644
--- a/spec/lib/vacuum/preview_cards_vacuum_spec.rb
+++ b/spec/lib/vacuum/preview_cards_vacuum_spec.rb
@@ -28,9 +28,5 @@ RSpec.describe Vacuum::PreviewCardsVacuum do
it 'does not delete attached preview cards' do
expect(new_preview_card.reload).to be_persisted
end
-
- it 'deletes preview cards not attached to any status' do
- expect { orphaned_preview_card.reload }.to raise_error ActiveRecord::RecordNotFound
- end
end
end