resque_jobs_tree 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,6 +31,7 @@ class ResqueJobsTree::Job
31
31
  end
32
32
  else
33
33
  ResqueJobsTree::Storage.failure_cleanup node, resources, global: true
34
+ node.tree.on_failure.call(resources) if node.tree.on_failure.kind_of?(Proc)
34
35
  raise exception
35
36
  end
36
37
  end
@@ -14,6 +14,10 @@ class ResqueJobsTree::Tree
14
14
  end
15
15
  end
16
16
 
17
+ def on_failure &block
18
+ @on_failure ||= block
19
+ end
20
+
17
21
  def launch *resources
18
22
  ResqueJobsTree::Storage.track_launch self, resources do
19
23
  @root.launch resources
@@ -1,3 +1,3 @@
1
1
  module ResqueJobsTree
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/test/tree_test.rb CHANGED
@@ -46,4 +46,24 @@ class TreeTest < MiniTest::Unit::TestCase
46
46
  end
47
47
  end
48
48
 
49
+ def test_on_failure
50
+ create_tree_with_on_failure_hook
51
+ assert_raises RuntimeError, 'called form on_failure block' do
52
+ @tree.launch
53
+ end
54
+ end
55
+
56
+ private
57
+
58
+ def create_tree_with_on_failure_hook
59
+ @tree = ResqueJobsTree::Factory.create :tree1 do
60
+ root :job1 do
61
+ perform { raise 'expected failure' }
62
+ end
63
+ on_failure do
64
+ raise 'called form on_failure block'
65
+ end
66
+ end
67
+ end
68
+
49
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque_jobs_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: