Merge pull request #6394 from tgxworld/recover_broken_uploads
FIX: Onceoff job to recover missing post uploads.
This commit is contained in:
commit
6a2589353b
|
@ -0,0 +1,22 @@
|
||||||
|
require_dependency "upload_recovery"
|
||||||
|
|
||||||
|
module Jobs
|
||||||
|
class RecoverPostUploads < Jobs::Onceoff
|
||||||
|
MIN_PERIOD = 30
|
||||||
|
MAX_PERIOD = 120
|
||||||
|
|
||||||
|
def execute_onceoff(args)
|
||||||
|
UploadRecovery.new.recover(Post.where(
|
||||||
|
"baked_at >= ?",
|
||||||
|
grace_period.days.ago
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
def grace_period
|
||||||
|
SiteSetting.purge_deleted_uploads_grace_period_days.clamp(
|
||||||
|
MIN_PERIOD,
|
||||||
|
MAX_PERIOD
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,17 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe Jobs::RecoverPostUploads do
|
||||||
|
describe '#grace_period' do
|
||||||
|
it 'should restrict the grace period to the right range' do
|
||||||
|
SiteSetting.purge_deleted_uploads_grace_period_days =
|
||||||
|
described_class::MIN_PERIOD - 1
|
||||||
|
|
||||||
|
expect(described_class.new.grace_period).to eq(30)
|
||||||
|
|
||||||
|
SiteSetting.purge_deleted_uploads_grace_period_days =
|
||||||
|
described_class::MAX_PERIOD + 1
|
||||||
|
|
||||||
|
expect(described_class.new.grace_period).to eq(120)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue