sqs_buffer 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sqs_buffer/client.rb +18 -13
- data/lib/sqs_buffer/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: facb347e330b3c794eb6224a914ffd48e80e5ca0
|
4
|
+
data.tar.gz: c4bb7fe4e7cef0beba0554de06c01aa1b1bcefb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d98f8cf578b7b93db709cb89015650477ebeea7f91487408fc8a7093e86429815868d9e228cbece3eb275db3b2f2379e2df3aa7c72fbf88dfaa52ccf6cad9201
|
7
|
+
data.tar.gz: 3af6d9bef57e50dfefd62c00ba5fd04cef32e0d779c465b8fa9ff04418c5a2dbbaa4f21c5143b62d19a87fbb10f7baaed94ce9c5e5dce8274c9f908e195de874
|
data/lib/sqs_buffer/client.rb
CHANGED
@@ -12,7 +12,6 @@ module SqsBuffer
|
|
12
12
|
@skip_delete = opts.fetch(:skip_delete, true)
|
13
13
|
@max_number_of_messages = opts.fetch(:max_number_of_messages, 10).to_i
|
14
14
|
@logger = opts.fetch(:logger, Logger.new(STDOUT))
|
15
|
-
@process_block = Concurrent::MutexAtomicReference.new
|
16
15
|
@before_request_block = Concurrent::MutexAtomicReference.new
|
17
16
|
@process_block = Concurrent::MutexAtomicReference.new
|
18
17
|
@message_queue = Concurrent::Array.new
|
@@ -121,17 +120,21 @@ module SqsBuffer
|
|
121
120
|
|
122
121
|
def configure_before_request_block
|
123
122
|
@poller.before_request do |stats|
|
124
|
-
|
125
|
-
@
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
@before_request_block.value
|
132
|
-
|
133
|
-
|
134
|
-
|
123
|
+
begin
|
124
|
+
if @running.false?
|
125
|
+
@logger.info "Shutting down. Processing all messages first..."
|
126
|
+
process_all_messages
|
127
|
+
@logger.info "All messages have been processed. Throwing :stop_polling"
|
128
|
+
throw :stop_polling
|
129
|
+
end
|
130
|
+
if @before_request_block.value
|
131
|
+
@before_request_block.value.call(stats)
|
132
|
+
end
|
133
|
+
if need_to_process?
|
134
|
+
process_all_messages
|
135
|
+
end
|
136
|
+
rescue => e
|
137
|
+
@logger.error "Exception: #{e.message} in before_request block. | Backtrace: #{e.backtrace}"
|
135
138
|
end
|
136
139
|
end # End Poller loop
|
137
140
|
end
|
@@ -140,6 +143,8 @@ module SqsBuffer
|
|
140
143
|
messages.each do |msg|
|
141
144
|
store_message(msg)
|
142
145
|
end
|
146
|
+
rescue => e
|
147
|
+
@logger.error "Exception: #{e.message} while storing messages: #{messages} | Backtrace: #{e.backtrace}"
|
143
148
|
end
|
144
149
|
|
145
150
|
def store_message(msg)
|
@@ -158,7 +163,7 @@ module SqsBuffer
|
|
158
163
|
messages = @message_queue.shift(10)
|
159
164
|
@poller.delete_messages(messages)
|
160
165
|
rescue StandardError => e
|
161
|
-
@logger.error "An exception(#{e.message}) occurred while deleting these messages: #{messages
|
166
|
+
@logger.error "An exception(#{e.message}) occurred while deleting these messages: #{messages} | Backtrace: #{e.backtrace}"
|
162
167
|
end
|
163
168
|
end
|
164
169
|
end
|
data/lib/sqs_buffer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqs_buffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Thomas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|