Module: ActiveJob::Enqueuing::ClassMethods

Defined in:
lib/active_job/enqueuing.rb

Overview

Includes the perform_later method for job initialization.

Instance Method Summary collapse

Instance Method Details

#perform_later {|job| ... } ⇒ Object

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)


58
59
60
61
62
63
64
65
# File 'lib/active_job/enqueuing.rb', line 58

def perform_later(...)
  job = job_or_instantiate(...)
  enqueue_result = job.enqueue

  yield job if block_given?

  enqueue_result
end