sqs_buffer 0.3.0 → 0.3.1
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/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
|