aws-sdk-sqs 1.64.0 → 1.65.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/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-sqs/client.rb +1 -1
- data/lib/aws-sdk-sqs/queue_poller.rb +31 -0
- data/lib/aws-sdk-sqs.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: deb95ba88a1099fdc9be73f1cdcc07f050abcb43d14f3b12d7ef4e0eeba718a3
|
4
|
+
data.tar.gz: a55887d771d042ad936392d196a251e9a41a4635dc0b54ff5ac5f11baf749ada
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fee7c9e83c30cc4cdc66d2a73edb2e23cfa418b3ad7ba500cbc690eb507532c03085efcb224d3c0ffe75c1a6fc534c900b52bb2c7942127e2564919c175fd13
|
7
|
+
data.tar.gz: d4cac974b7077791b7ea7cfd3f72b240d7eb50c7b3c323ac545279f75bd265aa1bdeb05fdc1db164709c9e91701787657b7cb261f250df9951c024e2d0e98969
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.65.0 (2023-10-31)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Update `QueuePoller` to allow for the definition of an `after_empty_receive` callback which is triggered when a polling request returns no records.
|
8
|
+
|
4
9
|
1.64.0 (2023-10-02)
|
5
10
|
------------------
|
6
11
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.65.0
|
data/lib/aws-sdk-sqs/client.rb
CHANGED
@@ -180,6 +180,16 @@ module Aws
|
|
180
180
|
# end
|
181
181
|
# ```
|
182
182
|
#
|
183
|
+
# * Configure an {#after_empty_receive} callback.
|
184
|
+
#
|
185
|
+
# ```
|
186
|
+
# poller.after_empty_receive do |stats|
|
187
|
+
# logger.info("requests: #{stats.request_count}")
|
188
|
+
# logger.info("messages: #{stats.received_message_count}")
|
189
|
+
# logger.info("last-timestamp: #{stats.last_message_received_at}")
|
190
|
+
# end
|
191
|
+
# ```
|
192
|
+
#
|
183
193
|
# * Accept a 2nd argument in the poll block, for example:
|
184
194
|
#
|
185
195
|
# ```
|
@@ -256,6 +266,21 @@ module Aws
|
|
256
266
|
@default_config = @default_config.with(before_request: block) if block_given?
|
257
267
|
end
|
258
268
|
|
269
|
+
# Registers a callback that is invoked when the poll requests returns with no messages.
|
270
|
+
# This callback is invoked after the idle timeout is checked.
|
271
|
+
#
|
272
|
+
# poller.after_empty_receive do |stats|
|
273
|
+
# # Handle empty receive
|
274
|
+
# end
|
275
|
+
#
|
276
|
+
# @yieldparam [PollerStats] stats An object that tracks a few
|
277
|
+
# client-side statistics about the queue polling.
|
278
|
+
#
|
279
|
+
# @return [void]
|
280
|
+
def after_empty_receive(&block)
|
281
|
+
@default_config = @default_config.with(after_empty_receive: block) if block_given?
|
282
|
+
end
|
283
|
+
|
259
284
|
# Polls the queue, yielded a message, or an array of messages.
|
260
285
|
# Messages are automatically deleted from the queue at the
|
261
286
|
# end of the given block. See the class documentation on
|
@@ -332,6 +357,7 @@ module Aws
|
|
332
357
|
messages = get_messages(config, stats)
|
333
358
|
if messages.empty?
|
334
359
|
check_idle_timeout(config, stats)
|
360
|
+
config.after_empty_receive&.call(stats)
|
335
361
|
else
|
336
362
|
process_messages(config, stats, messages, &block)
|
337
363
|
end
|
@@ -455,6 +481,7 @@ module Aws
|
|
455
481
|
idle_timeout
|
456
482
|
skip_delete
|
457
483
|
before_request
|
484
|
+
after_empty_receive
|
458
485
|
]
|
459
486
|
|
460
487
|
# @api private
|
@@ -475,6 +502,9 @@ module Aws
|
|
475
502
|
# @return [Proc,nil]
|
476
503
|
attr_reader :before_request
|
477
504
|
|
505
|
+
# @return [Proc,nil]
|
506
|
+
attr_reader :after_empty_receive
|
507
|
+
|
478
508
|
# @return [Hash]
|
479
509
|
attr_reader :request_params
|
480
510
|
|
@@ -482,6 +512,7 @@ module Aws
|
|
482
512
|
@idle_timeout = nil
|
483
513
|
@skip_delete = false
|
484
514
|
@before_request = nil
|
515
|
+
@after_empty_receive = nil
|
485
516
|
@request_params = {
|
486
517
|
wait_time_seconds: 20,
|
487
518
|
max_number_of_messages: 1,
|
data/lib/aws-sdk-sqs.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-sqs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.65.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|