eventq_aws 1.4.0 → 1.4.1

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