eventq_aws 1.4.0 → 1.4.1

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
  SHA1:
3
- metadata.gz: ddd9f355da04624bfac3223f7acfd908796ca09f
4
- data.tar.gz: 9b80129253f34372f5cddbb4ac4aebaaeac8f813
3
+ metadata.gz: 960bc855dcdbb80c29b612240a61e8d33507a3d7
4
+ data.tar.gz: bcca57f08e3a82674474b998c0f0afa3d4efc96d
5
5
  SHA512:
6
- metadata.gz: 43784c0584439c4e11934d347176197fda3873c1733aac74c06ecf6885d6266cb1e6bcf933e1de3ad6c300a6a74956221415ee4ea331709e6bec2840b300a9fa
7
- data.tar.gz: f13a8e3960119417c5bc98f23da956cf878dc32048b44d019b2fa8c8d6abe6ec72dd012f76526d2519a91f23b10efb957e8056762b155c1c9a462e61aecdc026
6
+ metadata.gz: 4306b1e8c531dc08e06471c7cd4bc88a01d37647a2649f33fe42933742838bccdd50120368c1cfd2b362ae06f5c1525f830c74c2dd0fc8bcf7f8e2ddaf763a2e
7
+ data.tar.gz: e38f600b473eb503a4557a169ebc87c914404aa38f11b6f410bf0e94449d15d00bec2c9fd848c0f0793bbaf93a7b1ddab202ef3863ca2bd9a286304973e58a6a
@@ -102,7 +102,6 @@ module EventQ
102
102
 
103
103
  received = false
104
104
  error = false
105
- abort = false
106
105
 
107
106
  begin
108
107
 
@@ -116,44 +115,14 @@ module EventQ
116
115
 
117
116
  #check that a message was received
118
117
  if response.messages.length > 0
119
- tag_processing_thread
120
-
121
- msg = response.messages[0]
122
- retry_attempts = msg.attributes[APPROXIMATE_RECEIVE_COUNT].to_i - 1
123
-
124
- #deserialize the message payload
125
- payload = JSON.load(msg.body)
126
- message = deserialize_message(payload[MESSAGE])
127
-
128
- message_args = EventQ::MessageArgs.new(message.type, retry_attempts)
129
-
130
- EventQ.log(:debug, "[#{self.class}] - Message received. Retry Attempts: #{retry_attempts}")
131
-
132
- #begin worker block for queue message
133
118
  begin
134
-
135
- block.call(message.content, message_args)
136
-
137
- if message_args.abort == true
138
- abort = true
139
- EventQ.log(:info, "[#{self.class}] - Message aborted.")
140
- else
141
- #accept the message as processed
142
- client.sqs.delete_message({ queue_url: q, receipt_handle: msg.receipt_handle })
143
- EventQ.log(:info, "[#{self.class}] - Message acknowledged.")
144
- received = true
119
+ tag_processing_thread
120
+ process_message(response, client, queue, q, block) do |received, error|
121
+ received = received
122
+ error = error
145
123
  end
146
-
147
- rescue => e
148
- EventQ.log(:error, "[#{self.class}] - An unhandled error happened while attempting to process a queue message. Error: #{e} | Backtrace: #{e.backtrace}")
149
-
150
- error = true
151
-
152
- end
153
-
154
- if abort || error
155
- EventQ.log(:info, "[#{self.class}] - Message rejected.")
156
- reject_message(queue, client, msg, q, retry_attempts)
124
+ ensure
125
+ untag_processing_thread
157
126
  end
158
127
 
159
128
  end
@@ -194,6 +163,49 @@ module EventQ
194
163
 
195
164
  private
196
165
 
166
+ def process_message(response, client, queue, q, block)
167
+ abort = false
168
+ msg = response.messages[0]
169
+ retry_attempts = msg.attributes[APPROXIMATE_RECEIVE_COUNT].to_i - 1
170
+
171
+ #deserialize the message payload
172
+ payload = JSON.load(msg.body)
173
+ message = deserialize_message(payload[MESSAGE])
174
+
175
+ message_args = EventQ::MessageArgs.new(message.type, retry_attempts)
176
+
177
+ EventQ.log(:debug, "[#{self.class}] - Message received. Retry Attempts: #{retry_attempts}")
178
+
179
+ #begin worker block for queue message
180
+ begin
181
+
182
+ block.call(message.content, message_args)
183
+
184
+ if message_args.abort == true
185
+ abort = true
186
+ EventQ.log(:info, "[#{self.class}] - Message aborted.")
187
+ else
188
+ #accept the message as processed
189
+ client.sqs.delete_message({ queue_url: q, receipt_handle: msg.receipt_handle })
190
+ EventQ.log(:info, "[#{self.class}] - Message acknowledged.")
191
+ received = true
192
+ end
193
+
194
+ rescue => e
195
+ EventQ.log(:error, "[#{self.class}] - An unhandled error happened while attempting to process a queue message. Error: #{e} | Backtrace: #{e.backtrace}")
196
+
197
+ error = true
198
+
199
+ end
200
+
201
+ if abort || error
202
+ EventQ.log(:info, "[#{self.class}] - Message rejected.")
203
+ reject_message(queue, client, msg, q, retry_attempts)
204
+ end
205
+
206
+ yield [received, error]
207
+ end
208
+
197
209
  def reject_message(queue, client, msg, q, retry_attempts)
198
210
 
199
211
  if !queue.allow_retry || retry_attempts >= queue.max_retry_attempts
@@ -1,5 +1,5 @@
1
1
  module EventQ
2
2
  module Amazon
3
- VERSION = "1.4.0"
3
+ VERSION = "1.4.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventq_aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaughanbrittonsage