eventq_aws 1.6.4 → 1.7.0

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: 03fe17fdd0af8f2a61823abb1d83b534059e3287
4
- data.tar.gz: 5cd347facb1f62b5e75055fe6e8f2d5588372327
3
+ metadata.gz: 346fa33d554dd48140b9c995e5baec9e675cd402
4
+ data.tar.gz: c720dead3d863d56f8c9fbeb88fedf8ee07ed6ff
5
5
  SHA512:
6
- metadata.gz: 2478f7e0edfdda90f0b9f0755c06dfa23591675046ef5edc0c3ec164bf7bf71d04429f238bcfac73e9eb51e61fed313d78a05cf26490f4dbbb1adc18e90933f5
7
- data.tar.gz: e52a354376e24079d87799ca9c5a9b8b9edf15a6406d0291b8f2b3ce9e92bc90884496bca2638a135a9596588fd93ac61fbd709c6c86589cc437135c523b57b5
6
+ metadata.gz: 2003e4317ea719c16915dcbccd177736e564580de045aa58ff4c9332eed52220a3b3656e234c5bfa06c1c24fff94214a15a4fb084c163813f60c5789eaf6e021
7
+ data.tar.gz: 7e34f363b0e351183c092b3f189fd96039899f6ac747cac21af83e174d9d1921e3b7f12bb599b4f3ed6c5cc06e29c8b7999ef1c3496185337fc804c9ad06c78d
@@ -14,6 +14,8 @@ module EventQ
14
14
  @is_running = false
15
15
 
16
16
  @retry_exceeded_block = nil
17
+ @on_retry_block = nil
18
+ @on_error_block = nil
17
19
 
18
20
  @hash_helper = HashKit::Helper.new
19
21
  @serialization_provider_manager = EventQ::SerializationProviders::Manager.new
@@ -151,7 +153,16 @@ module EventQ
151
153
  end
152
154
 
153
155
  rescue => e
154
- EventQ.log(:error, "[#{self.class}] - An error occurred attempting to retrieve a message from the queue. Error: #{e.backtrace}")
156
+ EventQ.log(:error, "[#{self.class}] - An unhandled error occurred. Error: #{e} | Backtrace: #{e.backtrace}")
157
+
158
+ if @on_error_block
159
+ EventQ.log(:debug, "[#{self.class}] - Executing on error block.")
160
+ begin
161
+ @on_error_block.call(e, message)
162
+ rescue => e2
163
+ EventQ.log(:error, "[#{self.class}] - An error occurred executing the on error block. Error: #{e2}")
164
+ end
165
+ end
155
166
  end
156
167
 
157
168
  return received
@@ -168,6 +179,16 @@ module EventQ
168
179
  @retry_exceeded_block = block
169
180
  end
170
181
 
182
+ def on_retry(&block)
183
+ @on_retry_block = block
184
+ return nil
185
+ end
186
+
187
+ def on_error(&block)
188
+ @on_error_block = block
189
+ return nil
190
+ end
191
+
171
192
  def running?
172
193
  return @is_running
173
194
  end
@@ -224,7 +245,7 @@ module EventQ
224
245
 
225
246
  if message_args.abort || error
226
247
  EventQ::NonceManager.failed(message.id)
227
- reject_message(queue, client, msg, q, retry_attempts)
248
+ reject_message(queue, client, msg, q, retry_attempts, message, message_args.abort)
228
249
  else
229
250
  EventQ::NonceManager.complete(message.id)
230
251
  end
@@ -232,11 +253,11 @@ module EventQ
232
253
  return true
233
254
  end
234
255
 
235
- def reject_message(queue, client, msg, q, retry_attempts)
256
+ def reject_message(queue, client, msg, q, retry_attempts, message, abort)
236
257
 
237
258
  if !queue.allow_retry || retry_attempts >= queue.max_retry_attempts
238
259
 
239
- EventQ.log(:info, "[#{self.class}] - Message rejected removing from queue. Msg: #{serialize_message(msg)}")
260
+ EventQ.log(:info, "[#{self.class}] - Message rejected removing from queue. Message: #{serialize_message(message)}")
240
261
 
241
262
  #remove the message from the queue so that it does not get retried again
242
263
  client.sqs.delete_message({ queue_url: q, receipt_handle: msg.receipt_handle })
@@ -247,7 +268,11 @@ module EventQ
247
268
 
248
269
  if @retry_exceeded_block != nil
249
270
  EventQ.log(:info, "[#{self.class}] - Executing retry exceeded block.")
250
- @retry_exceeded_block.call(message)
271
+ begin
272
+ @retry_exceeded_block.call(message)
273
+ rescue => e
274
+ EventQ.log(:error, "[#{self.class}] - An error occurred executing the on retry block. Error: #{e}")
275
+ end
251
276
  end
252
277
 
253
278
  end
@@ -282,6 +307,15 @@ module EventQ
282
307
  visibility_timeout: visibility_timeout.to_s, # required
283
308
  })
284
309
 
310
+ if @on_retry_block
311
+ EventQ.log(:debug, "[#{self.class}] - Executing on retry block.")
312
+ begin
313
+ @on_retry_block.call(message, abort)
314
+ rescue => e
315
+ EventQ.log(:error, "[#{self.class}] - An error occurred executing the on retry block. Error: #{e}")
316
+ end
317
+ end
318
+
285
319
  end
286
320
 
287
321
  end
@@ -1,5 +1,5 @@
1
1
  module EventQ
2
2
  module Amazon
3
- VERSION = "1.6.4"
3
+ VERSION = "1.7.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventq_aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.4
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaughanbrittonsage
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-04 00:00:00.000000000 Z
11
+ date: 2016-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler