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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f097ee10167f0b8e6145966589993f88489b0e8
4
- data.tar.gz: 9941bd4681a3097532a6c24b73a5c8f2d81202a6
3
+ metadata.gz: facb347e330b3c794eb6224a914ffd48e80e5ca0
4
+ data.tar.gz: c4bb7fe4e7cef0beba0554de06c01aa1b1bcefb1
5
5
  SHA512:
6
- metadata.gz: 9999dd2402abe8881322dee3ac7bb432dd1199c1129e37e99073c52a592fbec0f5f38d5a2137baf61187dbf32d480cebc919ca331a17ab0dfed532a0defcb1f6
7
- data.tar.gz: aaf3e84e45ffca6891eebe9c84bb4eaab8c339efdefb072044a54976e07e5d839d4353ca527f865a6fb0c8386d50f61480ee0cf0d60082475ca4ff4ce7b8ec15
6
+ metadata.gz: d98f8cf578b7b93db709cb89015650477ebeea7f91487408fc8a7093e86429815868d9e228cbece3eb275db3b2f2379e2df3aa7c72fbf88dfaa52ccf6cad9201
7
+ data.tar.gz: 3af6d9bef57e50dfefd62c00ba5fd04cef32e0d779c465b8fa9ff04418c5a2dbbaa4f21c5143b62d19a87fbb10f7baaed94ce9c5e5dce8274c9f908e195de874
@@ -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
- 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
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.join("\n")} | Backtrace: #{e.backtrace}"
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
@@ -1,3 +1,3 @@
1
1
  module SqsBuffer
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
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.0
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-03 00:00:00.000000000 Z
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