123456789_123456789_123456789_123456789_123456789_

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

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.

Yields:

  • (job)
[ 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