jobs: migrate file deletion jobs to ActiveJob.
This commit is contained in:
8
app/jobs/delete_post_files_job.rb
Normal file
8
app/jobs/delete_post_files_job.rb
Normal file
@@ -0,0 +1,8 @@
|
||||
class DeletePostFilesJob < ApplicationJob
|
||||
queue_as :default
|
||||
queue_with_priority 20
|
||||
|
||||
def perform(id, md5, file_ext)
|
||||
Post.delete_files(id, md5, file_ext)
|
||||
end
|
||||
end
|
||||
8
app/jobs/delete_upload_files_job.rb
Normal file
8
app/jobs/delete_upload_files_job.rb
Normal file
@@ -0,0 +1,8 @@
|
||||
class DeleteUploadFilesJob < ApplicationJob
|
||||
queue_as :default
|
||||
queue_with_priority 20
|
||||
|
||||
def perform(md5, file_ext, upload_id)
|
||||
UploadService::Utils.delete_file(md5, file_ext, upload_id)
|
||||
end
|
||||
end
|
||||
@@ -166,7 +166,7 @@ class UploadService
|
||||
|
||||
# in case this upload never finishes processing, we need to delete the
|
||||
# distributed files in the future
|
||||
UploadService::Utils.delay(priority: -1, queue: "default", run_at: 24.hours.from_now).delete_file(upload.md5, upload.file_ext, upload.id)
|
||||
DeleteUploadFilesJob.set(wait: 24.hours).perform_later(upload.md5, upload.file_ext, upload.id)
|
||||
end
|
||||
|
||||
# these methods are only really used during upload processing even
|
||||
|
||||
@@ -88,7 +88,7 @@ class Post < ApplicationRecord
|
||||
end
|
||||
|
||||
def queue_delete_files(grace_period)
|
||||
Post.delay(queue: "default", run_at: Time.now + grace_period).delete_files(id, md5, file_ext)
|
||||
DeletePostFilesJob.set(wait: grace_period).perform_later(id, md5, file_ext)
|
||||
end
|
||||
|
||||
def delete_files
|
||||
|
||||
Reference in New Issue
Block a user