From 8b2f418972220be8febcf1b68a612c0ae66d9d17 Mon Sep 17 00:00:00 2001 From: Dhia Eddine Chouchane Date: Tue, 4 Aug 2015 14:24:56 +0100 Subject: [ci skip] How to pass arguments to ActiveJob Jobs A section explaining how to pass arguments to Jobs has been added. [ci skip] How to pass arguments to ActiveJob Jobs Removed the "how to pass arguments" from what you will know section [ci skip] improving Enqueue Job section Using GuestsCleanupJob rather than MyJob for coherence. [ci skip] Passing args section merged with enqueuing jobs Passing args is now explained through examples withing Enqueuing the Jobs section [ci skip] Unnecessary example removed [ci skip] Typo fixed (missing as) --- guides/source/active_job_basics.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'guides/source') diff --git a/guides/source/active_job_basics.md b/guides/source/active_job_basics.md index cb25a4c5f3..e3502d7363 100644 --- a/guides/source/active_job_basics.md +++ b/guides/source/active_job_basics.md @@ -70,12 +70,14 @@ Here's what a job looks like: class GuestsCleanupJob < ActiveJob::Base queue_as :default - def perform(*args) + def perform(*guests) # Do something later end end ``` +Note that you can define `perform` with as many arguments as you want. + ### Enqueue the Job Enqueue a job like so: @@ -83,21 +85,26 @@ Enqueue a job like so: ```ruby # Enqueue a job to be performed as soon the queuing system is # free. -MyJob.perform_later record +GuestsCleanupJob.perform_later guest ``` ```ruby # Enqueue a job to be performed tomorrow at noon. -MyJob.set(wait_until: Date.tomorrow.noon).perform_later(record) +GuestsCleanupJob.set(wait_until: Date.tomorrow.noon).perform_later(guest) ``` ```ruby # Enqueue a job to be performed 1 week from now. -MyJob.set(wait: 1.week).perform_later(record) +GuestsCleanupJob.set(wait: 1.week).perform_later(guest) ``` -That's it! +```ruby +# `perform_now` and `perform_later` will call `perform` under the hood so +# you can pass as many arguments as defined in the latter. +GuestsCleanupJob.perform_later(guest1, guest2, filter: 'some_filter') +``` +That's it! Job Execution ------------- -- cgit v1.2.3