Module: ActiveJob::QueueName::ClassMethods
- Defined in:
 - lib/active_job/queue_name.rb
 
Overview
Includes the ability to override the default queue name and prefix.
Instance Method Summary collapse
- 
  
    
      #queue_as(part_name = nil, &block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Specifies the name of the queue to process the job on.
 - 
  
    
      #queue_name_from_part(part_name)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 
Instance Method Details
#queue_as(part_name = nil, &block) ⇒ Object
Specifies the name of the queue to process the job on.
class PublishToFeedJob < ActiveJob::Base
  queue_as :feeds
  def perform(post)
    post.to_feed!
  end
end
Can be given a block that will evaluate in the context of the job allowing self.arguments to be accessed so that a dynamic queue name can be applied:
class PublishToFeedJob < ApplicationJob
  queue_as do
    post = self.arguments.first
    if post.paid?
      :paid_feeds
    else
      :feeds
    end
  end
  def perform(post)
    post.to_feed!
  end
end
  
      41 42 43 44 45 46 47  | 
    
      # File 'lib/active_job/queue_name.rb', line 41 def queue_as(part_name = nil, &block) if block_given? self.queue_name = block else self.queue_name = queue_name_from_part(part_name) end end  | 
  
#queue_name_from_part(part_name) ⇒ Object
:nodoc:
      49 50 51 52 53  | 
    
      # File 'lib/active_job/queue_name.rb', line 49 def queue_name_from_part(part_name) #:nodoc: queue_name = part_name || default_queue_name name_parts = [queue_name_prefix.presence, queue_name] name_parts.compact.join(queue_name_delimiter) end  |