stormtroopers 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/stormtroopers/army.rb +3 -0
- data/lib/stormtroopers/version.rb +1 -1
- data/spec/stormtroopers/army_spec.rb +18 -0
- data/stormtroopers.gemspec +1 -0
- metadata +38 -25
data/lib/stormtroopers/army.rb
CHANGED
@@ -35,6 +35,9 @@ module Stormtroopers
|
|
35
35
|
threads << Thread.new do
|
36
36
|
begin
|
37
37
|
trooper.run
|
38
|
+
rescue Exception => exception
|
39
|
+
logger.error("#{exception.message}:\n#{exception.backtrace.join("\n")}")
|
40
|
+
trooper.exception(exception)
|
38
41
|
ensure
|
39
42
|
if defined?(::Mongoid)
|
40
43
|
::Mongoid::IdentityMap.clear
|
@@ -71,6 +71,24 @@ describe Stormtroopers::Army do
|
|
71
71
|
army.run_trooper(trooper)
|
72
72
|
end
|
73
73
|
|
74
|
+
it "calls trooper exception hook with the exception when trooper#run raises one" do
|
75
|
+
exception = StandardError.new
|
76
|
+
trooper = stub
|
77
|
+
trooper.stub(:run) { raise exception }
|
78
|
+
trooper.should_receive(:exception).with(exception)
|
79
|
+
Thread.should_receive(:new).and_yield
|
80
|
+
army.run_trooper(trooper)
|
81
|
+
end
|
82
|
+
|
83
|
+
it "calls logs the exceptions at error level when trooper#run raises one" do
|
84
|
+
exception = StandardError.new
|
85
|
+
trooper = stub.as_null_object
|
86
|
+
trooper.stub(:run) { raise exception }
|
87
|
+
army.logger.should_receive(:error)
|
88
|
+
Thread.should_receive(:new).and_yield
|
89
|
+
army.run_trooper(trooper)
|
90
|
+
end
|
91
|
+
|
74
92
|
it "cleans up the Mongoid environment if Mongoid is defined" do
|
75
93
|
stub_const("Mongoid", Class.new)
|
76
94
|
stub_const("Mongoid::IdentityMap", Class.new)
|
data/stormtroopers.gemspec
CHANGED
metadata
CHANGED
@@ -1,51 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stormtroopers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.5
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Andre Meij
|
9
9
|
- Mark Kremer
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-11-
|
13
|
+
date: 2012-11-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 3.2.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
26
|
none: false
|
23
|
-
requirement: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
28
|
- - ! '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 3.2.0
|
28
|
-
none: false
|
29
|
-
prerelease: false
|
30
|
-
type: :runtime
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: rspec
|
33
|
-
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
34
35
|
requirements:
|
35
36
|
- - ! '>='
|
36
37
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
38
|
-
|
38
|
+
version: '0'
|
39
|
+
type: :development
|
40
|
+
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
42
|
none: false
|
40
|
-
requirement: !ruby/object:Gem::Requirement
|
41
43
|
requirements:
|
42
44
|
- - ! '>='
|
43
45
|
- !ruby/object:Gem::Version
|
44
|
-
version:
|
45
|
-
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
46
50
|
none: false
|
47
|
-
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
48
55
|
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
49
63
|
description: ! 'Stormtroopers is a jruby execution environment for delayed jobs '
|
50
64
|
email:
|
51
65
|
- andre@socialreferral.com
|
@@ -86,28 +100,26 @@ files:
|
|
86
100
|
- vagrant-provision
|
87
101
|
homepage: http://github.com/socialreferral/stormtroopers
|
88
102
|
licenses: []
|
89
|
-
post_install_message:
|
103
|
+
post_install_message:
|
90
104
|
rdoc_options: []
|
91
105
|
require_paths:
|
92
106
|
- lib
|
93
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
94
109
|
requirements:
|
95
110
|
- - ! '>='
|
96
111
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
98
|
-
MA==
|
99
|
-
none: false
|
112
|
+
version: '0'
|
100
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
101
115
|
requirements:
|
102
116
|
- - ! '>='
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
105
|
-
MA==
|
106
|
-
none: false
|
118
|
+
version: '0'
|
107
119
|
requirements: []
|
108
|
-
rubyforge_project:
|
120
|
+
rubyforge_project:
|
109
121
|
rubygems_version: 1.8.24
|
110
|
-
signing_key:
|
122
|
+
signing_key:
|
111
123
|
specification_version: 3
|
112
124
|
summary: Execute delayed jobs in a threaded jruby environment
|
113
125
|
test_files:
|
@@ -117,3 +129,4 @@ test_files:
|
|
117
129
|
- spec/stormtroopers/manager_spec.rb
|
118
130
|
- spec/stormtroopers/trooper/delayed_job_spec.rb
|
119
131
|
- spec/stormtroopers/trooper_spec.rb
|
132
|
+
has_rdoc:
|