module ActiveJob::Core::ClassMethods - activejob-4.2.3 Documentation

# module ActiveJob::Core::ClassMethods

These methods will be included into any Active Job object, adding helpers for de/serialization and creation of job instances.

### Public Instance Methods

deserialize(job_data) click to toggle source

Creates a new job instance from a hash created with `serialize`

    # File lib/active_job/core.rb, line 24
    def deserialize(job_data)
      job                      = job_data['job_class'].constantize.new
      job.job_id               = job_data['job_id']
      job.queue_name           = job_data['queue_name']
      job.serialized_arguments = job_data['arguments']
      job
    end

set(options={}) click to toggle source

Creates a job preconfigured with the given options. You can call perform_later with the job arguments to enqueue the job with the preconfigured options

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

    VideoJob.set(queue: :some_queue).perform_later(Video.last)
    VideoJob.set(wait: 5.minutes).perform_later(Video.last)
    VideoJob.set(wait_until: Time.now.tomorrow).perform_later(Video.last)
    VideoJob.set(queue: :some_queue, wait: 5.minutes).perform_later(Video.last)
    VideoJob.set(queue: :some_queue, wait_until: Time.now.tomorrow).perform_later(Video.last)

    # File lib/active_job/core.rb, line 48
    def set(options={})
      ConfiguredJob.new(self, options)
    end