Module: ActiveJob::Enqueuing::ClassMethods
Relationships & Source Files | |
Defined in: | activejob/lib/active_job/enqueuing.rb |
Overview
Includes the #perform_later method for job initialization.
Instance Method Summary
-
#perform_later {|job| ... }
Push a job onto the queue.
- #job_or_instantiate(*args) private
Instance Method Details
#job_or_instantiate(*args) (private)
[ 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
#perform_later {|job| ... }
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.
# 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