mimi-messaging-sqs_sns 0.8.1 → 0.8.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: 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