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:
8
app/jobs/upload_preprocessor_delayed_start_job.rb
Normal file
8
app/jobs/upload_preprocessor_delayed_start_job.rb
Normal 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
|
||||
8
app/jobs/upload_service_delayed_start_job.rb
Normal file
8
app/jobs/upload_service_delayed_start_job.rb
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user