module ActiveJob::Enqueuing
Public class methods
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:
- `:always` forces the job to be deferred.
- `:never` forces the job to be queued immediately.
- `:default` lets the queue adapter define the behavior (recommended).
Source code GitHub
# File activejob/lib/active_job/enqueuing.rb, line 54
class_attribute :enqueue_after_transaction_commit, instance_accessor: false, instance_predicate: false, default: :never
Public instance methods
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
Source code GitHub
# File activejob/lib/active_job/enqueuing.rb, line 113
def enqueue(options = {})
set(options)
self.successfully_enqueued = false
run_callbacks :enqueue do
raw_enqueue
end
if successfully_enqueued?
self
else
false
end
end