jobs: fix backwards job priorities.

Fix bug where jobs had the opposite of the intended priority. Populating saved searches had the
highest priority, while processing uploads had the lowest priority.

Caused by Delayed::Job and GoodJob having opposite interpretations of job priorities. In
Delayed::Job, lower numbers had higher priority, while in GoodJob, higher numbers have higher
priority. This was missed when migrating from Delayed::Job to GoodJob.
This commit is contained in:
evazion
2022-11-30 17:29:30 -06:00
parent 7d0d74a0f0
commit a07e6667b4
7 changed files with 5 additions and 6 deletions

View File

@@ -11,6 +11,8 @@ class ApplicationJob < ActiveJob::Base
class JobTimeoutError < StandardError; end
queue_as :default
# Jobs with higher priority are processed first. Higher number = higher priority.
queue_with_priority 0
around_perform do |_job, block|

View File

@@ -3,7 +3,6 @@
# A job that deletes a user's favorites when they delete their account.
class DeleteFavoritesJob < ApplicationJob
queue_as :default
queue_with_priority 20
def perform(user)
Post.without_timeout do

View File

@@ -3,7 +3,6 @@
# A job that deletes a user's settings and other personal data when they delete their account.
class DeleteUserJob < ApplicationJob
queue_as :default
queue_with_priority 20
def perform(user)
UserDeletion.new(user: user).delete_user

View File

@@ -4,7 +4,7 @@
# `search:all` or `search:<label>`.
class PopulateSavedSearchJob < ApplicationJob
queue_as :default
queue_with_priority 20
queue_with_priority -1
def perform(query)
SavedSearch.populate(query)

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
class ProcessUploadJob < ApplicationJob
queue_with_priority -1
queue_with_priority 30
def perform(upload)
upload.process_upload!

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
class ProcessUploadMediaAssetJob < ApplicationJob
queue_with_priority -1
queue_with_priority 20
def perform(upload_media_asset)
upload_media_asset.process_upload!

View File

@@ -3,7 +3,6 @@
# A job that regenerates a post's images and IQDB when a moderator requests it.
class RegeneratePostJob < ApplicationJob
queue_as :default
queue_with_priority 20
def perform(post:, category:, user:)
post.regenerate!(category, user)