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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68eb8fe977b86cb00d0fc688ebc168d08cff78fdf9a332304fcbc825c7d381cb
4
- data.tar.gz: 88fe34be85f87be90ff063d796ec49a42098e8882b43cefede85feeb324ef5a4
3
+ metadata.gz: deb95ba88a1099fdc9be73f1cdcc07f050abcb43d14f3b12d7ef4e0eeba718a3
4
+ data.tar.gz: a55887d771d042ad936392d196a251e9a41a4635dc0b54ff5ac5f11baf749ada
5
5
  SHA512:
6
- metadata.gz: '02289264a550230e36c1c9d0cb73a532ca0a2fc5c6ff550fb6390dd7d21c99f77f042fc99153605deaad2a7c945a8b963af34c5dfcf0e96357f83eeea79ba3c1'
7
- data.tar.gz: 976aee45c5cb6a9db8d884e4f8abb44807aca6b6c567b3815565864a24e7e775ee32bc3fa23a052a8b8ca378cf7266e79ea0d6539ab32f97ede21f4aa1ad6b71
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.64.0
1
+ 1.65.0
@@ -2786,7 +2786,7 @@ module Aws::SQS
2786
2786
  params: params,
2787
2787
  config: config)
2788
2788
  context[:gem_name] = 'aws-sdk-sqs'
2789
- context[:gem_version] = '1.64.0'
2789
+ context[:gem_version] = '1.65.0'
2790
2790
  Seahorse::Client::Request.new(handlers, context)
2791
2791
  end
2792
2792
 
@@ -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
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sqs/customizations'
54
54
  # @!group service
55
55
  module Aws::SQS
56
56
 
57
- GEM_VERSION = '1.64.0'
57
+ GEM_VERSION = '1.65.0'
58
58
 
59
59
  end
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.64.0
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-02 00:00:00.000000000 Z
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