FEATURE: stop running migrate to new scheme once done

This setting will automatically disable itself when there are no longer any
problem uploads
This commit is contained in:
Sam Saffron 2019-04-24 14:32:39 +10:00
parent 3094a603b7
commit 2e346e6ea2
1 changed files with 6 additions and 1 deletions

View File

@ -5,7 +5,7 @@ module Jobs
sidekiq_options retry: false sidekiq_options retry: false
def execute(args) def execute(args)
return unless SiteSetting.migrate_to_new_scheme return if !SiteSetting.migrate_to_new_scheme
# clean up failed uploads # clean up failed uploads
Upload.where("created_at < ?", 1.hour.ago) Upload.where("created_at < ?", 1.hour.ago)
@ -18,6 +18,11 @@ module Jobs
# migrate uploads to new scheme # migrate uploads to new scheme
problems = Upload.migrate_to_new_scheme(limit: 50) problems = Upload.migrate_to_new_scheme(limit: 50)
if problems.length == 0
# This job is no longer needed skip it from now
SiteSetting.migrate_to_new_scheme = false
end
problems.each do |hash| problems.each do |hash|
upload_id = hash[:upload].id upload_id = hash[:upload].id
Discourse.handle_job_exception(hash[:ex], error_context(args, "Migrating upload id #{upload_id}", upload_id: upload_id)) Discourse.handle_job_exception(hash[:ex], error_context(args, "Migrating upload id #{upload_id}", upload_id: upload_id))