bumbleworks 0.0.31 → 0.0.32
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/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
|