aboutsummaryrefslogtreecommitdiffstats
path: root/test/jobs/rescue_job.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2014-05-22 20:35:02 +0200
committerDavid Heinemeier Hansson <david@loudthinking.com>2014-05-22 20:35:02 +0200
commitef4aff07a41f1249baade695e68c75a8db3ded58 (patch)
treeda3d9edc6f612a2f6106696fe423a5d8f1e5f28b /test/jobs/rescue_job.rb
parent387a7d993573b1492b1ed39f6803acc77af9233b (diff)
downloadrails-ef4aff07a41f1249baade695e68c75a8db3ded58.tar.gz
rails-ef4aff07a41f1249baade695e68c75a8db3ded58.tar.bz2
rails-ef4aff07a41f1249baade695e68c75a8db3ded58.zip
Add exception handling with built-in retry options
Diffstat (limited to 'test/jobs/rescue_job.rb')
-rw-r--r--test/jobs/rescue_job.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/jobs/rescue_job.rb b/test/jobs/rescue_job.rb
new file mode 100644
index 0000000000..66b28d768e
--- /dev/null
+++ b/test/jobs/rescue_job.rb
@@ -0,0 +1,15 @@
+class RescueJob < ActiveJob::Base
+ rescue_from(StandardError) do
+ $BUFFER << "rescued from StandardError"
+ arguments[0] = "DIFFERENT!"
+ retry_now
+ end
+
+ def perform(person = "david")
+ if person == "david"
+ raise "Hair too good"
+ else
+ $BUFFER << "performed beautifully"
+ end
+ end
+end