Module: ActiveJob::Core::ClassMethods
- 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 collapse
-
#deserialize(job_data) ⇒ Object
Creates a new job instance from a hash created with
serialize
. -
#set(options = {}) ⇒ Object
Creates a job preconfigured with the given options.
Instance Method Details
#deserialize(job_data) ⇒ Object
Creates a new job instance from a hash created with serialize
50 51 52 53 54 |
# File 'activejob/lib/active_job/core.rb', line 50 def deserialize(job_data) job = job_data["job_class"].constantize.new job.deserialize(job_data) job end |
#set(options = {}) ⇒ Object
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)
74 75 76 |
# File 'activejob/lib/active_job/core.rb', line 74 def set( = {}) ConfiguredJob.new(self, ) end |