uploads: switch to active job.

* Switch upload processing from DelayedJob to ActiveJob.
* Remove remaining references to delayed job from tests.

Closes #4128.
This commit is contained in:
evazion
2019-09-23 15:11:18 -05:00
parent 8de6925807
commit 0a6661d145
9 changed files with 30 additions and 36 deletions

View File

@@ -0,0 +1,8 @@
class UploadPreprocessorDelayedStartJob < ApplicationJob
queue_as :default
queue_with_priority -1
def perform(source, referer_url, uploader)
UploadService::Preprocessor.new(source: source, referer_url: referer_url).delayed_start(uploader.id)
end
end

View File

@@ -0,0 +1,8 @@
class UploadServiceDelayedStartJob < ApplicationJob
queue_as :default
queue_with_priority -1
def perform(uploader)
UploadService.delayed_start(uploader.id)
end
end

View File

@@ -22,7 +22,7 @@ class UploadService
preprocessor = Preprocessor.new(params)
if preprocessor.in_progress?
delay(queue: "default", priority: -1, run_at: 5.seconds.from_now).delayed_start(CurrentUser.id)
UploadServiceDelayedStartJob.set(wait: 5.seconds).perform_later(CurrentUser.user)
return preprocessor.predecessor
end
@@ -92,7 +92,7 @@ class UploadService
upload.update(status: "completed", post_id: @post.id)
if @post.is_pending? && Automod::UpdateDynamoDbJob.enabled?
Delayed::Job.enqueue(Automod::UpdateDynamoDbJob.new(@post.id), run_at: 84.hours.from_now, queue: "default")
#Delayed::Job.enqueue(Automod::UpdateDynamoDbJob.new(@post.id), run_at: 84.hours.from_now, queue: "default")
end
@post

View File

@@ -5,7 +5,7 @@ class UploadService
if Utils.is_downloadable?(url) && file.nil?
# this gets called from UploadsController#new so we need to preprocess async
Preprocessor.new(source: url, referer_url: ref).delay(priority: -1, queue: "default").delayed_start(CurrentUser.id)
UploadPreprocessorDelayedStartJob.perform_later(url, ref, CurrentUser.user)
begin
download = Downloads::File.new(url, ref)