module ActiveJob::Enqueuing - activejob-4.2.4 Documentation

# module ActiveJob::Enqueuing

### Public Instance Methods

enqueue(options={}) click to toggle source

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

#### 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

    # File lib/active_job/enqueuing.rb, line 63
    def enqueue(options={})
      self.scheduled_at = options[:wait].seconds.from_now.to_f if options[:wait]
      self.scheduled_at = options[:wait_until].to_f if options[:wait_until]
      self.queue_name   = self.class.queue_name_from_part(options[:queue]) if options[:queue]
      run_callbacks :enqueue do
        if self.scheduled_at
          self.class.queue_adapter.enqueue_at self, self.scheduled_at
        else
          self.class.queue_adapter.enqueue self
        end
      end
      self
    end

retry_job(options={}) click to toggle source

Reschedules the job to be re-executed. This is useful in combination with the `rescue_from` option. When you rescue an exception from your job you can ask Active Job to retry performing your job.

#### 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

#### Examples¶ ↑

    class SiteScrapperJob < ActiveJob::Base
      rescue_from(ErrorLoadingSite) do
        retry_job queue: :low_priority
      end

      def perform(*args)
        # raise ErrorLoadingSite if cannot scrape
      end
    end

    # File lib/active_job/enqueuing.rb, line 46
    def retry_job(options={})
      enqueue options
    end