123456789_123456789_123456789_123456789_123456789_

Module: ActiveJob::Enqueuing

Relationships & Source Files
Namespace Children
Modules:
Extension / Inclusion / Inheritance Descendants
Included In:
ActionMailer::MailDeliveryJob, Base, ::ActiveRecord::DestroyAssociationAsyncJob
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activejob/lib/active_job/enqueuing.rb

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

Instance Method Summary

Instance Method Details

#enqueue(options = {})

Enqueues the job to be performed by the queue adapter.

Options

  • :wait - Enqueues the job with the specified delay

  • :wait_until - Enqueues the job at the time specified

  • :queue - Enqueues the job on the specified queue

  • :priority - Enqueues the job with the specified priority

Examples

my_job_instance.enqueue
my_job_instance.enqueue wait: 5.minutes
my_job_instance.enqueue queue: :important
my_job_instance.enqueue wait_until: Date.tomorrow.midnight
my_job_instance.enqueue priority: 10
[ GitHub ]

  
# File 'activejob/lib/active_job/enqueuing.rb', line 87

def enqueue(options = {})
  set(options)
  self.successfully_enqueued = false

  run_callbacks :enqueue do
    if scheduled_at
      queue_adapter.enqueue_at self, _scheduled_at_time.to_f
    else
      queue_adapter.enqueue self
    end

    self.successfully_enqueued = true
  rescue EnqueueError => e
    self.enqueue_error = e
  end

  if successfully_enqueued?
    self
  else
    false
  end
end