symphony 0.12.1 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 530b4399dc67b699e1f8e53155faa141f7602f3bda7c27bae2682f8bb082e528
4
- data.tar.gz: af53f8b1cfe8e82aaabea43a3897c8df3856770cee858b8671e4b512452d451d
3
+ metadata.gz: 85ee70e26c4fe74380114b1b63f95eb93f6c215a1b23cf1a828703c2125fffe7
4
+ data.tar.gz: 4cb40f1b75757fef45d83c241af182a420ca3b6eca337980752dd3510c7006c3
5
5
  SHA512:
6
- metadata.gz: 1520a576d3a7f618d8a7a0f2717012a44fa091a44344316d0d7cc77694de6ff08c59cd6c05feac730fb6b60a6bb3b5abca2229a24cd1e71c07d8c6f89a45af00
7
- data.tar.gz: e1143395288a3e770b2afb1ddb30ee11899c79306603d99a2393f4119e1c90aef346f27d53971d0360a16e8678a8df9202108a38b69f7d9f1449900311954e59
6
+ metadata.gz: 60e7267c6d3083fd8ae8e3e35dd736e0a7a4658cbe5d1cd73b0fdc65918c66037829ea9327602deceea82b90f86127454675c4c3134ed83084309a67c82d38bb
7
+ data.tar.gz: 66b8c471588c9cc270fbceb0c7d46586b1da013407cd21b690cc487c8da60688145b756b1c2738c56808763eb89fa3859b43538cf56dfa894c1739ec1cb69102
Binary file
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,8 +1,36 @@
1
+ 2019-07-09 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ @ * lib/symphony/task_group/longlived.rb,
4
+ | spec/symphony/task_group/longlived_spec.rb:
5
+ | Rescue all runtime errors when measuring queue depth
6
+ | [82eeeea469c1] [tip]
7
+ |
8
+ 2019-07-05 Michael Granger <ged@FaerieMUD.org>
9
+
10
+ | o * .gems, Rakefile, lib/symphony.rb, lib/symphony/daemon.rb,
11
+ |/ lib/symphony/task.rb, lib/symphony/task_group.rb:
12
+ | Add speculative use of Observability
13
+ | [cd6d498d2847]
14
+ |
15
+ 2019-07-02 Michael Granger <ged@FaerieMUD.org>
16
+
17
+ o * .hgtags:
18
+ | Added tag v0.12.1 for changeset f879188b27e9
19
+ | [cf4d6ab84037]
20
+ |
21
+ o * .hgsigs:
22
+ | Added signature for changeset c16d31fdfac2
23
+ | [f879188b27e9] [v0.12.1]
24
+ |
25
+ o * History.rdoc, lib/symphony.rb, symphony.gemspec:
26
+ | Bump the patch version, update history.
27
+ | [c16d31fdfac2]
28
+ |
1
29
  2019-07-01 Michael Granger <ged@FaerieMUD.org>
2
30
 
3
- @ * spec/symphony/task_group/longlived_spec.rb:
31
+ o * spec/symphony/task_group/longlived_spec.rb:
4
32
  | Add a spec for closed-channel recovery
5
- | [38701b4ddb53] [tip]
33
+ | [38701b4ddb53]
6
34
  |
7
35
  2019-06-28 Mahlon E. Smith <mahlon@martini.nu>
8
36
 
@@ -1,3 +1,10 @@
1
+ == v0.12.2 [2019-07-09] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ Bugfixes:
4
+
5
+ - Rescue all runtime errors when measuring queue depth
6
+
7
+
1
8
  == v0.12.1 [2019-07-01] Michael Granger <ged@FaerieMUD.org>
2
9
 
3
10
  Bugfixes:
@@ -12,7 +12,7 @@ module Symphony
12
12
  Configurability
13
13
 
14
14
  # Library version constant
15
- VERSION = '0.12.1'
15
+ VERSION = '0.12.2'
16
16
 
17
17
  # Version-control revision constant
18
18
  REVISION = %q$Revision$
@@ -67,8 +67,8 @@ class Symphony::TaskGroup::LongLived < Symphony::TaskGroup
67
67
  count = @queue.message_count
68
68
  self.add_sample( count )
69
69
 
70
- rescue Bunny::ChannelAlreadyClosed => err
71
- self.log.debug "Unexpected queue state, resetting: "% [ err.message ]
70
+ rescue => err
71
+ self.log.debug "%p while counting messages (%s); resetting."% [ err.class, err.message ]
72
72
  @queue = nil
73
73
  end
74
74
 
@@ -256,6 +256,45 @@ describe Symphony::TaskGroup::LongLived do
256
256
  end
257
257
  end
258
258
 
259
+
260
+ it "reconnects if the message-count call times out" do
261
+ samples = [ 4, 3, 3 ]
262
+ task_group.sample_size = samples.size
263
+
264
+ allow( Process ).to receive( :setpgid )
265
+
266
+ channel1 = double( Bunny::Channel )
267
+ channel2 = double( Bunny::Channel )
268
+ queue1 = double( Bunny::Queue )
269
+ queue2 = double( Bunny::Queue )
270
+
271
+ expect( Symphony::Queue ).to receive( :amqp_channel ).
272
+ twice.
273
+ and_return( channel1, channel2 )
274
+
275
+ expect( channel1 ).to receive( :queue ).
276
+ with( task.queue_name, passive: true, prefetch: 0 ).
277
+ and_return( queue1 )
278
+ expect( queue1 ).to_not receive( :consumer_count )
279
+ expect( queue1 ).to receive( :message_count ).
280
+ and_raise( Timeout::Error.new )
281
+
282
+ expect( channel2 ).to receive( :queue ).
283
+ with( task.queue_name, passive: true, prefetch: 0 ).
284
+ and_return( queue2 )
285
+ expect( queue2 ).to receive( :consumer_count ) do
286
+ task_group.workers.size
287
+ end.at_least( :once )
288
+ expect( queue2 ).to receive( :message_count ).and_return( *samples )
289
+
290
+ start = 1414002605
291
+ start.upto( start + samples.size + 2 ) do |time|
292
+ Timecop.freeze( time ) do
293
+ task_group.adjust_workers
294
+ end
295
+ end
296
+ end
297
+
259
298
  end
260
299
 
261
300
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symphony
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -35,7 +35,7 @@ cert_chain:
35
35
  v4qqqa27Bs468d6SoPxjSm8a2mM9HZ4OdWhq4tFsbTeXDVquCfi64OTEaTt2xQdR
36
36
  JnC4lpJfCP6aCXa5h2XAQfPSH636cQap
37
37
  -----END CERTIFICATE-----
38
- date: 2019-07-02 00:00:00.000000000 Z
38
+ date: 2019-07-09 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: configurability
metadata.gz.sig CHANGED
Binary file