eventq_aws 1.6.4 → 1.7.0

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