sqs-ruby-example-visibility-timeout2.rb

Performs an operation on a message from an SQS queue.

# Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# This file is licensed under the Apache License, Version 2.0 (the "License").
# You may not use this file except in compliance with the License. A copy of the
# License is located at
#
# http://aws.amazon.com/apache2.0/
#
# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
# OF ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
require 'aws-sdk-sqs' # v2: require 'aws-sdk'
# Process the message
def do_something(msg)
true
end
# Do additional processing
def do_something2(msg)
puts msg.body
end
Aws.config.update({region: 'us-west-2'})
poller = Aws::SQS::QueuePoller.new(URL)
poller.poll(idle_timeout: timeout + 1) do |msg|
if do_something(msg)
# need more time for processing
poller.change_message_visibility_timeout(msg, timeout)
do_something2(msg)
end
end

Sample Details

Service: sqs

Last tested: 2018-03-16

Author: Doug-AWS

Type: full-example

Javascript is disabled or is unavailable in your browser.

To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's
Help pages for instructions.