symphony 0.12.1 → 0.12.2

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 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