eventq_rabbitmq 1.10.4 → 1.11.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 +4 -4
- data/lib/eventq_rabbitmq/rabbitmq_queue_worker.rb +48 -5
- data/lib/eventq_rabbitmq/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4928cde9bcd0b762d3b0938c52592048b21f2a58
|
4
|
+
data.tar.gz: 42289c45561bc1f2258406ec33b07abadf8debb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aa81b43c8983ef50efc43426e1253f99410fd51433cfe5d8d4339296a5a0b24275760e8e385c85843e18a9b8c030fcce2775c2a4797aab89f7a61f9401c23f4
|
7
|
+
data.tar.gz: 245391ae31872971615166e6e9bc90bfcc3d5f0cbe63c2cf6437c55c236adbb24f04db0c0c771a2a5986ed24a3825ef964979ccc3025a946c0cf5505a4838fe2
|
@@ -11,6 +11,8 @@ module EventQ
|
|
11
11
|
@is_running = false
|
12
12
|
|
13
13
|
@retry_exceeded_block = nil
|
14
|
+
@on_retry_block = nil
|
15
|
+
@on_error_block = nil
|
14
16
|
@hash_helper = HashKit::Helper.new
|
15
17
|
@serialization_provider_manager = EventQ::SerializationProviders::Manager.new
|
16
18
|
@last_gc_flush = Time.now
|
@@ -94,7 +96,16 @@ module EventQ
|
|
94
96
|
has_received_message = thread_process_iteration(channel, manager, queue, block)
|
95
97
|
|
96
98
|
rescue => e
|
97
|
-
EventQ.logger.error "An unhandled error occurred
|
99
|
+
EventQ.logger.error "An unhandled error occurred. Error: #{e} | Backtrace: #{e.backtrace}"
|
100
|
+
|
101
|
+
if @on_error_block
|
102
|
+
EventQ.log(:debug, "[#{self.class}] - Executing on error block.")
|
103
|
+
begin
|
104
|
+
@on_error_block.call(e, message)
|
105
|
+
rescue => e2
|
106
|
+
EventQ.log(:error, "[#{self.class}] - An error occurred executing the on error block. Error: #{e2}")
|
107
|
+
end
|
108
|
+
end
|
98
109
|
end
|
99
110
|
|
100
111
|
if channel != nil && channel.status != :closed
|
@@ -162,7 +173,16 @@ module EventQ
|
|
162
173
|
end
|
163
174
|
|
164
175
|
rescue => e
|
165
|
-
EventQ.log(:error, "[#{self.class}] - An error occurred attempting to
|
176
|
+
EventQ.log(:error, "[#{self.class}] - An error occurred attempting to process a message. Error: #{e} | Backtrace: #{e.backtrace}")
|
177
|
+
|
178
|
+
if @on_error_block
|
179
|
+
EventQ.log(:debug, "[#{self.class}] - Executing on error block.")
|
180
|
+
begin
|
181
|
+
@on_error_block.call(e)
|
182
|
+
rescue => e2
|
183
|
+
EventQ.log(:error, "[#{self.class}] - An error occurred executing the on error block. Error: #{e2}")
|
184
|
+
end
|
185
|
+
end
|
166
186
|
end
|
167
187
|
|
168
188
|
return received
|
@@ -183,6 +203,16 @@ module EventQ
|
|
183
203
|
return nil
|
184
204
|
end
|
185
205
|
|
206
|
+
def on_retry(&block)
|
207
|
+
@on_retry_block = block
|
208
|
+
return nil
|
209
|
+
end
|
210
|
+
|
211
|
+
def on_error(&block)
|
212
|
+
@on_error_block = block
|
213
|
+
return nil
|
214
|
+
end
|
215
|
+
|
186
216
|
def running?
|
187
217
|
return @is_running
|
188
218
|
end
|
@@ -197,7 +227,7 @@ module EventQ
|
|
197
227
|
return provider.serialize(msg)
|
198
228
|
end
|
199
229
|
|
200
|
-
def reject_message(channel, message, delivery_info, retry_exchange, queue)
|
230
|
+
def reject_message(channel, message, delivery_info, retry_exchange, queue, abort)
|
201
231
|
|
202
232
|
EventQ.log(:info, "[#{self.class}] - Message rejected removing from queue.")
|
203
233
|
#reject the message to remove from queue
|
@@ -210,7 +240,11 @@ module EventQ
|
|
210
240
|
|
211
241
|
if @retry_exceeded_block != nil
|
212
242
|
EventQ.log(:debug, "[#{self.class}] - Executing retry exceeded block.")
|
213
|
-
|
243
|
+
begin
|
244
|
+
@retry_exceeded_block.call(message)
|
245
|
+
rescue => e
|
246
|
+
EventQ.log(:error, "[#{self.class}] - An error occurred executing the retry exceeded block. Error: #{e}")
|
247
|
+
end
|
214
248
|
else
|
215
249
|
EventQ.log(:debug, "[#{self.class}] - No retry exceeded block specified.")
|
216
250
|
end
|
@@ -237,6 +271,15 @@ module EventQ
|
|
237
271
|
retry_exchange.publish(serialize_message(message), :expiration => message_ttl)
|
238
272
|
EventQ.log(:debug, "[#{self.class}] - Published message to retry exchange.")
|
239
273
|
|
274
|
+
if @on_retry_block
|
275
|
+
EventQ.log(:debug, "[#{self.class}] - Executing on retry block.")
|
276
|
+
begin
|
277
|
+
@on_retry_block.call(message, abort)
|
278
|
+
rescue => e
|
279
|
+
EventQ.log(:error, "[#{self.class}] - An error occurred executing the on retry block. Error: #{e}")
|
280
|
+
end
|
281
|
+
end
|
282
|
+
|
240
283
|
end
|
241
284
|
|
242
285
|
return true
|
@@ -312,7 +355,7 @@ module EventQ
|
|
312
355
|
|
313
356
|
if error || abort
|
314
357
|
EventQ::NonceManager.failed(message.id)
|
315
|
-
reject_message(channel, message, delivery_info, retry_exchange, queue)
|
358
|
+
reject_message(channel, message, delivery_info, retry_exchange, queue, abort)
|
316
359
|
else
|
317
360
|
EventQ::NonceManager.complete(message.id)
|
318
361
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventq_rabbitmq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.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
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|