mimi-messaging-sqs_sns 0.8.1 → 0.8.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: d8ca2b61a4f7cc802b628397b74d45a19f81dd50cf7d285bfc813922e17e7327
4
- data.tar.gz: fea7216f18b7707cedefaac1090349791c01f35b76f0a3019531039e28e8a39e
3
+ metadata.gz: e106fbe54e012ffd59a6126292242b23c28b3086ff5dfd4866acb64bad559ccf
4
+ data.tar.gz: 2fce6feb750d6cf27925e79646b8e76359188343f663ee8d20f30f09eedc2ba0
5
5
  SHA512:
6
- metadata.gz: c4734aef7603919fe1485b1403fe63cfe3751b25ca0c753336b1567b524817ad68d9a0255fb14a993f365d58963b3a5a894bb02b338eac19d2af01303455510b
7
- data.tar.gz: 017f5eb8d84cb0b10196c6a76fee01b5c1f3909c3b3eca2883e729992b02370f9be9827639858cbcb7e68beb02c35e4ac6cc9b5f40726b9e8faaccf5c8ee7eb6
6
+ metadata.gz: a830a70afd7b0a5f268d600ca9673a8f3fc36566201510263008f517d32354a020213de0b51497c446e99a768089f2fd9a1392dccdf5bbbc5fc352d3557a2a4e
7
+ data.tar.gz: 41dc62d85b21f8736011d974b2749e5f6ce093d3f3cc3746f037f8a986ef01621bc2a61ae60f8f96a5405dcc6672bd1468fec0e3ea695e0b1f1e4a123d71c962
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## UNRELEASED
4
4
 
5
+ ## v0.8.2
6
+
7
+ * [#7](https://github.com/kukushkin/mimi-messaging-sqs_sns/pull/7)
8
+ * Fixed an issue in the error processing, which could potentially crash the consumer threads
9
+
5
10
  ## v0.8.1
6
11
 
7
12
  * [#5](https://github.com/kukushkin/mimi-messaging-sqs_sns/pull/5)
@@ -48,14 +48,16 @@ module Mimi
48
48
  return unless message
49
49
 
50
50
  Mimi::Messaging.log "Read message from: #{queue_url}"
51
- adapter.worker_pool.post do
52
- process_message(adapter, queue_url, message, block)
51
+ begin
52
+ adapter.worker_pool.post do
53
+ process_message(adapter, queue_url, message, block)
54
+ end
55
+ rescue Concurrent::RejectedExecutionError
56
+ # the backlog is overflown, put the message back
57
+ Mimi::Messaging.log "Worker pool backlog is full, nack-ing the message " \
58
+ "(workers:#{adapter.worker_pool.length}, backlog:#{adapter.worker_pool.queue_length})"
59
+ nack_message(adapter, queue_url, message)
53
60
  end
54
- rescue Concurrent::RejectedExecutionError
55
- # the backlog is overflown, put the message back
56
- Mimi::Messaging.log "Worker pool backlog is full, nack-ing the message " \
57
- "(workers:#{adapter.worker_pool.length}, backlog:#{adapter.worker_pool.queue_length})"
58
- nack_message(adapter, queue_url, message)
59
61
  rescue StandardError => e
60
62
  Mimi::Messaging.logger&.error(
61
63
  "#{self.class}: failed to read or process message from: #{queue_url}," \
@@ -87,7 +89,7 @@ module Mimi
87
89
  "#{self.class}: failed to process message from: #{queue_url}," \
88
90
  " error: (#{e.class}) #{e}"
89
91
  )
90
- # NOTE: message is neither ACKed or NACKed
92
+ # NOTE: error is recovered and the message is neither ACKed or NACKed
91
93
  end
92
94
 
93
95
  # ACK-ing the message indicates successfull processing of it
@@ -108,6 +110,12 @@ module Mimi
108
110
  receipt_handle: msg.receipt_handle,
109
111
  visibility_timeout: NACK_VISIBILITY_TIMEOUT
110
112
  )
113
+ rescue StandardError => e
114
+ Mimi::Messaging.logger&.error(
115
+ "#{self.class}: failed to NACK message from: #{queue_url}," \
116
+ " error: (#{e.class}) #{e}"
117
+ )
118
+ # NOTE: error is recovered and the message is neither ACKed or NACKed
111
119
  end
112
120
  end # class Consumer
113
121
  end # module SQS_SNS
@@ -3,7 +3,7 @@
3
3
  module Mimi
4
4
  module Messaging
5
5
  module SQS_SNS
6
- VERSION = "0.8.1"
6
+ VERSION = "0.8.2"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mimi-messaging-sqs_sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Kukushkin