Module: ActiveJob::Core::ClassMethods
| Relationships & Source Files | |
| Defined in: | activejob/lib/active_job/core.rb |
Overview
These methods will be included into any Active Job object, adding helpers for de/serialization and creation of job instances.
Instance Method Summary
-
#deserialize(job_data)
Creates a new job instance from a hash created with #serialize
-
#set(options = {})
Creates a job preconfigured with the given options.
Instance Method Details
#deserialize(job_data)
Creates a new job instance from a hash created with ActiveJob::Core#serialize
# File 'activejob/lib/active_job/core.rb', line 71
def deserialize(job_data) job_class = job_data["job_class"].safe_constantize raise UnknownJobClassError, job_data["job_class"] unless job_class job = job_class.new job.deserialize(job_data) job end
#set(options = {})
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:priority- Enqueues the job with the specified priority
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)
{VideoJob.set}(queue: :some_queue, wait: 5.minutes, priority: 10).perform_later(Video.last)
# File 'activejob/lib/active_job/core.rb', line 101
def set( = {}) ConfiguredJob.new(self, ) end