aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source/active_job_basics.md
diff options
context:
space:
mode:
authorDhia Eddine Chouchane <dhiachouchane@gmail.com>2015-08-04 14:24:56 +0100
committerCHOUCHANE Dhia Eddine <dhia-eddine.chouchane@sagemcom.com>2015-08-13 15:06:39 +0100
commit8b2f418972220be8febcf1b68a612c0ae66d9d17 (patch)
treef474a365f64f7c2736e10bf30e3208e89b68b645 /guides/source/active_job_basics.md
parent7a3ca69959e312a215d5e8144fca79a08654fd89 (diff)
downloadrails-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)
Diffstat (limited to 'guides/source/active_job_basics.md')
-rw-r--r--guides/source/active_job_basics.md17
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
-------------