module ActiveJob::Enqueuing::ClassMethods
Includes the perform_later
method for job initialization.
Public instance methods
Push a job onto the queue. By default the arguments must be either String, Integer, Float, NilClass
, TrueClass
, FalseClass
, BigDecimal
, Symbol, Date, Time, DateTime
, ActiveSupport::TimeWithZone
, ActiveSupport::Duration
, Hash, ActiveSupport::HashWithIndifferentAccess
, Array, Range, or GlobalID::Identification instances, although this can be extended by adding custom serializers.
Returns an instance of the job class queued with arguments available in Job#arguments or false if the enqueue did not succeed.
After the attempted enqueue, the job will be yielded to an optional block.
Source code GitHub
# File activejob/lib/active_job/enqueuing.rb, line 56
def perform_later(...)
job = job_or_instantiate(...)
enqueue_result = job.enqueue
yield job if block_given?
enqueue_result
end
Private instance methods
Source code GitHub
# File activejob/lib/active_job/enqueuing.rb, line 66
def job_or_instantiate(*args) # :doc:
args.first.is_a?(self) ? args.first : new(*args)
end