diff options
author | Dhia Eddine Chouchane <dhiachouchane@gmail.com> | 2015-08-04 14:24:56 +0100 |
---|---|---|
committer | CHOUCHANE Dhia Eddine <dhia-eddine.chouchane@sagemcom.com> | 2015-08-13 15:06:39 +0100 |
commit | 8b2f418972220be8febcf1b68a612c0ae66d9d17 (patch) | |
tree | f474a365f64f7c2736e10bf30e3208e89b68b645 | |
parent | 7a3ca69959e312a215d5e8144fca79a08654fd89 (diff) | |
download | rails-8b2f418972220be8febcf1b68a612c0ae66d9d17.tar.gz rails-8b2f418972220be8febcf1b68a612c0ae66d9d17.tar.bz2 rails-8b2f418972220be8febcf1b68a612c0ae66d9d17.zip |
[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)
-rw-r--r-- | guides/source/active_job_basics.md | 17 |
1 files changed, 12 insertions, 5 deletions
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 ------------- |