rsmp 0.5.3 → 0.5.4

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: b6d24a7240bcac60427bcbbe4743142db412338e847c08e35803401092dd162b
4
- data.tar.gz: 264711c071e36998292d2fad4ece08bb79938ec3a7fc997016c7ca46f7f14ad1
3
+ metadata.gz: 7d5f4cf2cac16a579cca8eb8e81d84ff60cd94e294bba6caf3c3d450fc71e202
4
+ data.tar.gz: c99aade3e55837ee0502e0b3b3e8120ad5f488fcc78b5cdc7d412534012fa72d
5
5
  SHA512:
6
- metadata.gz: a5cd2cd0d6afacb699c5c2e1da799356e33b0bfaa207ff7496221039c83143c572b2d5088a225cf9bec92036f890ad54bc099511d2344961a26742f69dec332d
7
- data.tar.gz: 47d1c8569e07a5603cb8622f19f042d9bf637da0c30e08e8dd706c1b2b61efbba9d2f74f4de91e93ea969f89048dbb890ca5cc1718870708c6811a4ee6c3bd52
6
+ metadata.gz: 37ce6e272ccb1265865000d35fb5fb473f426c725786a89b8f7cf52871f40dc82a5f90fb860c7aa5a9662fc1c2554cef31a68e15583d949e19c6732ae4b47289
7
+ data.tar.gz: 738d271c31fe5d968c9a24e983ce66758891b46cc3c83bcdce374c20603dd54b68ce47a0d0686b3967b4ffcc45c4830c14535464f8094cdab9d483687d3355c0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.5.3)
4
+ rsmp (0.5.4)
5
5
  async (~> 1.29.1)
6
6
  async-io (~> 1.32.1)
7
7
  colorize (~> 0.8.1)
@@ -61,9 +61,18 @@ module RSMP
61
61
  str = "#{@title.capitalize} collection"
62
62
  str << " in response to #{options[:m_id]}" if options[:m_id]
63
63
  str << " didn't complete within #{@options[:timeout]}s"
64
+ reached = progress
65
+ str << ", reached #{progress[:reached]}/#{progress[:need]}"
64
66
  raise RSMP::TimeoutError.new str
65
67
  end
66
68
 
69
+ # Return progress as collected vs. number requested
70
+ def progress
71
+ need = @options[:num]
72
+ reached = @messages.size
73
+ { need: need, got: reached }
74
+ end
75
+
67
76
  # Get the collected message.
68
77
  def message
69
78
  @messages.first
@@ -70,6 +70,13 @@ module RSMP
70
70
  @queries.map { |query| query.message }.uniq
71
71
  end
72
72
 
73
+ # Return progress as completes queries vs. total number of queries
74
+ def progress
75
+ need = @queries.size
76
+ reached = @queries.count { |query| query.done? }
77
+ { need: need, reached: reached }
78
+ end
79
+
73
80
  # Are there queries left to match?
74
81
  def done?
75
82
  @queries.all? { |query| query.done? }
@@ -26,6 +26,7 @@ module RSMP
26
26
  dequeue_notify
27
27
  ensure
28
28
  @defer_notify = was
29
+ @notify_queue = []
29
30
  end
30
31
 
31
32
  def dequeue_notify
data/lib/rsmp/proxy.rb CHANGED
@@ -350,7 +350,7 @@ module RSMP
350
350
  rescue SchemaError, RSMP::Schemer::Error => e
351
351
  str = "Received invalid #{message.type}, schema errors: #{e.message}"
352
352
  log str, message: message, level: :warning
353
- notify_error e.exception("#{str} #{message.json}"), message: message
353
+ notify_error e.exception(str), message: message
354
354
  dont_acknowledge message, str
355
355
  message
356
356
  rescue InvalidMessage => e
@@ -360,12 +360,11 @@ module RSMP
360
360
  message
361
361
  rescue FatalError => e
362
362
  str = "Rejected #{message.type},"
363
- notify_error e.exception("#{str} #{message.json}"), message: message
363
+ notify_error e.exception(str), message: message
364
364
  dont_acknowledge message, str, "#{e.message}"
365
365
  stop
366
366
  message
367
367
  ensure
368
- clear_deferred_notify
369
368
  node.clear_deferred
370
369
  end
371
370
 
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-08 00:00:00.000000000 Z
11
+ date: 2021-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async