bumbleworks 0.0.83 → 0.0.84
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.
- checksums.yaml +4 -4
- data/lib/bumbleworks/version.rb +1 -1
- data/lib/bumbleworks/worker.rb +6 -2
- data/spec/lib/bumbleworks/worker_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee8d2ad3b662fe678ac16e38fd28847a385b331a
|
4
|
+
data.tar.gz: 6e8fc9542f1ca3fe22dae925c96edd40bebbe7db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 887061ad9278d5db0775685a0ee0cd5e413a0e8aba80c879e528c1e4765151a5fbe1bcb4856c9cefc27f23aa5da20044471a7b2f772504eb2edcce192b02c8b8
|
7
|
+
data.tar.gz: 0fa2619b89743344d3caa2fed6df968122c4a16196830cded4e1f41c5ea3f660b78872a1f6f972aeedf59d2cb2750b5145c5cbc69f85cbcea5b64c353f5c793a
|
data/lib/bumbleworks/version.rb
CHANGED
data/lib/bumbleworks/worker.rb
CHANGED
@@ -7,11 +7,14 @@ class Bumbleworks::Worker < Ruote::Worker
|
|
7
7
|
|
8
8
|
class << self
|
9
9
|
def info
|
10
|
-
Bumbleworks.dashboard.worker_info
|
10
|
+
Bumbleworks.dashboard.worker_info || {}
|
11
11
|
end
|
12
12
|
|
13
13
|
def shutdown_all(options = {})
|
14
|
+
# First, send all running workers a message to stop
|
14
15
|
change_worker_state('stopped', options)
|
16
|
+
# Now ensure that future started workers will be started
|
17
|
+
# in "running" mode instead of automatically stopped
|
15
18
|
change_worker_state('running', options)
|
16
19
|
end
|
17
20
|
|
@@ -24,7 +27,7 @@ class Bumbleworks::Worker < Ruote::Worker
|
|
24
27
|
end
|
25
28
|
|
26
29
|
def worker_states
|
27
|
-
|
30
|
+
info.inject({}) { |hsh, info|
|
28
31
|
id, state = info[0], info[1]['state']
|
29
32
|
if state && state != 'stopped'
|
30
33
|
hsh[id] = state
|
@@ -47,6 +50,7 @@ class Bumbleworks::Worker < Ruote::Worker
|
|
47
50
|
|
48
51
|
def purge_worker_info(&block)
|
49
52
|
doc = Bumbleworks.dashboard.storage.get('variables', 'workers')
|
53
|
+
return unless doc
|
50
54
|
doc['workers'] = doc['workers'].reject { |id, info|
|
51
55
|
block.call(id, info)
|
52
56
|
}
|
@@ -50,6 +50,11 @@ describe Bumbleworks::Worker do
|
|
50
50
|
allow(Bumbleworks.dashboard).to receive(:worker_info).and_return(:bontron)
|
51
51
|
expect(described_class.info).to eq(:bontron)
|
52
52
|
end
|
53
|
+
|
54
|
+
it 'returns empty hash if worker_info is nil' do
|
55
|
+
allow(Bumbleworks.dashboard).to receive(:worker_info).and_return(nil)
|
56
|
+
expect(described_class.info).to eq({})
|
57
|
+
end
|
53
58
|
end
|
54
59
|
|
55
60
|
describe '.forget_worker' do
|
@@ -77,6 +82,13 @@ describe Bumbleworks::Worker do
|
|
77
82
|
described_class.refresh_worker_info
|
78
83
|
expect(Time.parse(subject.info['put_at'])).to be_within(1).of(Time.now)
|
79
84
|
end
|
85
|
+
|
86
|
+
it 'returns without issue if info empty' do
|
87
|
+
allow(described_class).to receive(:info).and_return({})
|
88
|
+
expect {
|
89
|
+
described_class.refresh_worker_info
|
90
|
+
}.not_to raise_error
|
91
|
+
end
|
80
92
|
end
|
81
93
|
|
82
94
|
describe '.purge_stale_worker_info' do
|
@@ -91,6 +103,12 @@ describe Bumbleworks::Worker do
|
|
91
103
|
subject.id => subject_info
|
92
104
|
})
|
93
105
|
end
|
106
|
+
|
107
|
+
it 'returns without issue if no workers' do
|
108
|
+
doc = Bumbleworks.dashboard.storage.get('variables', 'workers')
|
109
|
+
Bumbleworks.dashboard.storage.delete(doc)
|
110
|
+
described_class.purge_stale_worker_info
|
111
|
+
end
|
94
112
|
end
|
95
113
|
|
96
114
|
describe '.change_worker_state' do
|
@@ -115,6 +133,13 @@ describe Bumbleworks::Worker do
|
|
115
133
|
expect(subject.state).to eq('paused')
|
116
134
|
expect(workers.map(&:state)).to eq(['stopped', 'stopped'])
|
117
135
|
end
|
136
|
+
|
137
|
+
it 'does nothing if no worker info' do
|
138
|
+
allow(described_class).to receive(:info).and_return({})
|
139
|
+
expect {
|
140
|
+
described_class.change_worker_state('paused')
|
141
|
+
}.not_to raise_error
|
142
|
+
end
|
118
143
|
end
|
119
144
|
end
|
120
145
|
|
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.84
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maher Hawash
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2014-08-
|
14
|
+
date: 2014-08-12 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: ruote
|