bumbleworks 0.0.31 → 0.0.32
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/bumbleworks/ruote.rb +9 -13
- data/lib/bumbleworks/version.rb +1 -1
- data/spec/lib/bumbleworks/ruote_spec.rb +8 -15
- metadata +2 -2
data/lib/bumbleworks/ruote.rb
CHANGED
@@ -9,14 +9,7 @@ module Bumbleworks
|
|
9
9
|
|
10
10
|
class << self
|
11
11
|
def dashboard(options = {})
|
12
|
-
@dashboard ||=
|
13
|
-
context = if options[:start_worker] == true
|
14
|
-
::Ruote::Worker.new(storage)
|
15
|
-
else
|
16
|
-
storage
|
17
|
-
end
|
18
|
-
::Ruote::Dashboard.new(context)
|
19
|
-
end
|
12
|
+
@dashboard ||= ::Ruote::Dashboard.new(storage)
|
20
13
|
end
|
21
14
|
|
22
15
|
# Start a worker, which will begin polling for messages in
|
@@ -35,11 +28,14 @@ module Bumbleworks
|
|
35
28
|
# exits.
|
36
29
|
#
|
37
30
|
def start_worker!(options = {})
|
38
|
-
@dashboard = nil
|
39
|
-
dashboard(:start_worker => true)
|
40
31
|
dashboard.noisy = options[:verbose] == true
|
41
|
-
dashboard.
|
42
|
-
|
32
|
+
worker = ::Ruote::Worker.new(dashboard.context)
|
33
|
+
if options[:join] == true
|
34
|
+
worker.run
|
35
|
+
else
|
36
|
+
worker.run_in_thread
|
37
|
+
end
|
38
|
+
worker
|
43
39
|
end
|
44
40
|
|
45
41
|
def launch(name, *args)
|
@@ -61,7 +57,7 @@ module Bumbleworks
|
|
61
57
|
while dashboard.processes.count > 0
|
62
58
|
if (Time.now - start_time) > options[:timeout]
|
63
59
|
error_type = options[:method] == :cancel ? CancelTimeout : KillTimeout
|
64
|
-
raise error_type, "Process #{options[:method]} taking too long - #{dashboard.processes.count} processes remain"
|
60
|
+
raise error_type, "Process #{options[:method]} taking too long - #{dashboard.processes.count} processes remain. Errors: #{dashboard.errors}"
|
65
61
|
end
|
66
62
|
sleep 0.1
|
67
63
|
end
|
data/lib/bumbleworks/version.rb
CHANGED
@@ -88,10 +88,6 @@ describe Bumbleworks::Ruote do
|
|
88
88
|
it 'does not start a worker by default' do
|
89
89
|
described_class.dashboard.worker.should be_nil
|
90
90
|
end
|
91
|
-
|
92
|
-
it 'starts a worker if :start_worker option is true' do
|
93
|
-
described_class.dashboard(:start_worker => true).worker.should_not be_nil
|
94
|
-
end
|
95
91
|
end
|
96
92
|
|
97
93
|
describe '.start_worker!' do
|
@@ -102,23 +98,20 @@ describe Bumbleworks::Ruote do
|
|
102
98
|
described_class.dashboard.worker.should == new_worker
|
103
99
|
end
|
104
100
|
|
105
|
-
it '
|
106
|
-
::Ruote::
|
107
|
-
|
108
|
-
dash_double.should_receive(:join)
|
101
|
+
it 'runs in current thread if :join option is true' do
|
102
|
+
::Ruote::Worker.stub(:new).and_return(worker_double = double('worker'))
|
103
|
+
worker_double.should_receive(:run)
|
109
104
|
described_class.start_worker!(:join => true)
|
110
105
|
end
|
111
106
|
|
112
|
-
it 'returns if :join option not true' do
|
113
|
-
::Ruote::
|
114
|
-
|
115
|
-
|
116
|
-
described_class.start_worker!
|
107
|
+
it 'runs in new thread and returns worker if :join option not true' do
|
108
|
+
::Ruote::Worker.stub(:new).and_return(worker_double = double('worker'))
|
109
|
+
worker_double.should_receive(:run_in_thread)
|
110
|
+
described_class.start_worker!.should == worker_double
|
117
111
|
end
|
118
112
|
|
119
113
|
it 'sets dashboard to noisy if :verbose option true' do
|
120
|
-
|
121
|
-
dash_double.should_receive(:noisy=).with(true)
|
114
|
+
described_class.dashboard.should_receive(:noisy=).with(true)
|
122
115
|
described_class.start_worker!(:verbose => true)
|
123
116
|
end
|
124
117
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bumbleworks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.32
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-08-
|
15
|
+
date: 2013-08-13 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: ruote
|