Module: ActiveJob::QueuePriority::ClassMethods

Defined in:
activejob/lib/active_job/queue_priority.rb

Overview

Includes the ability to override the default queue priority.

Instance Method Summary collapse

Instance Method Details

#queue_with_priority(priority = nil, &block) ⇒ Object

Specifies the priority of the queue to create the job with.

class PublishToFeedJob < ActiveJob::Base
  queue_with_priority 50

  def perform(post)
    post.to_feed!
  end
end

Can be given a block that will evaluate in the context of the job so that a dynamic priority can be applied:

class PublishToFeedJob < ApplicationJob
  queue_with_priority do
    post = self.arguments.first

    if post.paid?
      10
    else
      50
    end
  end

  def perform(post)
    post.to_feed!
  end
end


39
40
41
42
43
44
45
# File 'activejob/lib/active_job/queue_priority.rb', line 39

def queue_with_priority(priority = nil, &block)
  if block_given?
    self.priority = block
  else
    self.priority = priority
  end
end