Module: ActiveJob::QueueAdapter::ClassMethods
Relationships & Source Files | |
Defined in: | activejob/lib/active_job/queue_adapter.rb |
Overview
Includes the setter method for changing the active queue adapter.
Constant Summary
-
QUEUE_ADAPTER_METHODS =
# File 'activejob/lib/active_job/queue_adapter.rb', line 71[:enqueue, :enqueue_at].freeze
Instance Attribute Summary
-
#queue_adapter=(name_or_adapter)
rw
Specify the backend queue provider.
- #queue_adapter?(object) ⇒ Boolean rw private
Instance Method Summary
-
#queue_adapter
rw
Returns the backend queue provider.
-
#queue_adapter_name
Returns string denoting the name of the configured queue adapter.
- #assign_adapter(adapter_name, queue_adapter) private
Instance Attribute Details
#queue_adapter=(name_or_adapter) (rw)
Specify the backend queue provider. The default queue adapter is the :async
queue. See QueueAdapters for more information.
# File 'activejob/lib/active_job/queue_adapter.rb', line 49
def queue_adapter=(name_or_adapter) case name_or_adapter when Symbol, String queue_adapter = ActiveJob::QueueAdapters.lookup(name_or_adapter).new queue_adapter.try(:check_adapter) assign_adapter(name_or_adapter.to_s, queue_adapter) else if queue_adapter?(name_or_adapter) adapter_name = ActiveJob.adapter_name(name_or_adapter).underscore assign_adapter(adapter_name, name_or_adapter) else raise ArgumentError end end end
#queue_adapter?(object) ⇒ Boolean
(rw, private)
[ GitHub ]
# File 'activejob/lib/active_job/queue_adapter.rb', line 73
def queue_adapter?(object) QUEUE_ADAPTER_METHODS.all? { |meth| object.respond_to?(meth) } end
Instance Method Details
#assign_adapter(adapter_name, queue_adapter) (private)
[ GitHub ]# File 'activejob/lib/active_job/queue_adapter.rb', line 66
def assign_adapter(adapter_name, queue_adapter) self._queue_adapter_name = adapter_name self._queue_adapter = queue_adapter end
#queue_adapter (rw)
Returns the backend queue provider. The default queue adapter is :async
. See QueueAdapters for more information.
# File 'activejob/lib/active_job/queue_adapter.rb', line 34
def queue_adapter self.queue_adapter = :async if _queue_adapter.nil? _queue_adapter end
#queue_adapter_name
Returns string denoting the name of the configured queue adapter. By default returns "async"
.
# File 'activejob/lib/active_job/queue_adapter.rb', line 41
def queue_adapter_name self.queue_adapter = :async if _queue_adapter_name.nil? _queue_adapter_name end