This website works better with JavaScript.
Home
Explore
Help
Sign In
closed-social
/
mastodon
Watch
3
Star
0
Fork
2
Code
Issues
5
Pull Requests
0
Projects
0
Releases
3
Wiki
Activity
Browse Source
Fix vacuum scheduler missing lock, locks never expiring (
#19458
)
Remove vacuuming of orphaned preview cards
closed-social-glitch-2
Eugen Rochko
1 year ago
committed by
GitHub
parent
1ae508bf2f
commit
bf0ab3e0fa
No known key found for this signature in database
GPG Key ID:
4AEE18F83AFDEB23
5 changed files
with
3 additions
and
15 deletions
Split View
Diff Options
Show Stats
Download Patch File
Download Diff File
+1
-1
app/lib/vacuum/media_attachments_vacuum.rb
+0
-9
app/lib/vacuum/preview_cards_vacuum.rb
+1
-1
app/workers/scheduler/vacuum_scheduler.rb
+1
-0
config/initializers/sidekiq.rb
+0
-4
spec/lib/vacuum/preview_cards_vacuum_spec.rb
+ 1
- 1
app/lib/vacuum/media_attachments_vacuum.rb
View File
@ -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
+ 0
- 9
app/lib/vacuum/preview_cards_vacuum.rb
View File
@ -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
+ 1
- 1
app/workers/scheduler/vacuum_scheduler.rb
View File
@ -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
|
+ 1
- 0
config/initializers/sidekiq.rb
View File
@ -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
+ 0
- 4
spec/lib/vacuum/preview_cards_vacuum_spec.rb
View File
@ -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
Write
Preview
Loading…
Cancel
Save