aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorGerard Cahill <gcahill@zendesk.com>2017-09-18 10:47:48 +0100
committerGerard Cahill <gcahill@zendesk.com>2017-09-18 13:54:46 +0100
commit5c13e8c98e6e284afa4f98e198c101dae5d78230 (patch)
tree822d629b29011f503cedacd0508a28ba6754ecca /guides
parent00cc168f75ebd64e7ecf3c2d12a597fb167747d8 (diff)
downloadrails-5c13e8c98e6e284afa4f98e198c101dae5d78230.tar.gz
rails-5c13e8c98e6e284afa4f98e198c101dae5d78230.tar.bz2
rails-5c13e8c98e6e284afa4f98e198c101dae5d78230.zip
add section to guides for discarding and retrying active jobs [ci skip]
Diffstat (limited to 'guides')
-rw-r--r--guides/source/active_job_basics.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/guides/source/active_job_basics.md b/guides/source/active_job_basics.md
index 7a3ff12b63..f94e9fe197 100644
--- a/guides/source/active_job_basics.md
+++ b/guides/source/active_job_basics.md
@@ -389,6 +389,25 @@ class GuestsCleanupJob < ApplicationJob
end
```
+### Retrying or Discarding failed jobs
+
+It's also possible to retry or discard a job if an exception is raised during execution.
+For example:
+
+```ruby
+class RemoteServiceJob < ActiveJob::Base
+ retry_on CustomAppException # defaults to 3s wait, 5 attempts
+
+ discard_on ActiveJob::DeserializationError
+
+ def perform(*args)
+ # Might raise CustomAppException or ActiveJob::DeserializationError
+ end
+end
+```
+
+To get more details see the API Documentation for [ActiveJob::Exceptions](http://api.rubyonrails.org/classes/ActiveJob/Exceptions/ClassMethods.html).
+
### Deserialization
GlobalID allows serializing full Active Record objects passed to `#perform`.