module ActiveJob::Enqueuing
Public Class Methods
enqueue_after_transaction_commit()
click to toggle source
Defines if enqueueing this job from inside an Active Record transaction automatically defers the enqueue to after the transaction commits.
It can be set on a per job basis:
- true forces the job to be deferred. - false forces the job to be queued immediately.
# File lib/active_job/enqueuing.rb, line 53 class_attribute :enqueue_after_transaction_commit, instance_accessor: false, instance_predicate: false, default: false
Public Instance Methods
enqueue(options = {})
click to toggle source
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
# File lib/active_job/enqueuing.rb, line 112 def enqueue(options = {}) set(options) self.successfully_enqueued = false run_callbacks :enqueue do raw_enqueue end if successfully_enqueued? self else false end end
Private Instance Methods
raw_enqueue()
click to toggle source
# File lib/active_job/enqueuing.rb, line 128 def raw_enqueue if scheduled_at queue_adapter.enqueue_at self, scheduled_at.to_f else queue_adapter.enqueue self end self.successfully_enqueued = true rescue EnqueueError => e self.enqueue_error = e end