使用Delayed :: Job时使用ActiveJob设置优先级

Tom*_*ssi 4 ruby-on-rails delayed-job rails-activejob

使用ActiveJob排队作业时,如何设置延迟的作业优先级?

class GuestsCleanupJob < ApplicationJob
  queue_as :high_priority

  def perform(*guests)
    # Do something later
  end
end
Run Code Online (Sandbox Code Playgroud)

Tom*_*ssi 8

我花了一段时间,但是我在Delayed :: Job文档中找到了这种方法:

Delayed::Worker.queue_attributes = {
  default:       { priority: 11 },
  high_priority: { priority: 1 },
  low_priority:  { priority: 75 }
}
Run Code Online (Sandbox Code Playgroud)

我已将其添加到我的初始值设定项中,并且只想共享(如果有其他人遇到此情况)!