aws-sdk-sqs 1.64.0 → 1.65.0

Sign up to get free protection for your applications and to get access to all the features.
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