D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.1.0
/
gems
/
activejob-4.2.8
/
lib
/
active_job
/
Filename :
queue_name.rb
back
Copy
module ActiveJob module QueueName extend ActiveSupport::Concern # Includes the ability to override the default queue name and prefix. module ClassMethods mattr_accessor(:queue_name_prefix) mattr_accessor(:default_queue_name) { "default" } # 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 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 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 end included do class_attribute :queue_name, instance_accessor: false class_attribute :queue_name_delimiter, instance_accessor: false self.queue_name = default_queue_name self.queue_name_delimiter = '_' # set default delimiter to '_' end # Returns the name of the queue the job will be run on def queue_name if @queue_name.is_a?(Proc) @queue_name = self.class.queue_name_from_part(instance_exec(&@queue_name)) end @queue_name end end end