FIX: Onceoff job to recover missing post uploads.

This fixes the regression due to 1f636c445b
This commit is contained in:
Guo Xiang Tan 2018-09-13 16:08:15 +08:00
parent 529e4018f0
commit aa1af9fc22
2 changed files with 39 additions and 0 deletions

View File

@ -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

View File

@ -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