Изменить время ожидания видимости для сообщения SQS с помощью ruby ​​aws-sdk [ruby newbie]

Может ли кто-нибудь помочь с примером, как изменить тайм-аут видимости для сообщения sqs с помощью ruby ​​aws-sdk?

вот код, который я использовал для своих тестов с использованием метода batch_change_message_visibility, но я получаю сообщение об ошибке «неопределенный метод 'batch_change_message_visibility'»

require 'rubygems'
require 'aws-sdk'

sqs = AWS::SQS.new(
    :access_key_id => access_key,
    :secret_access_key => access_secret)

queue = sqs.queues.named(queue_name)

messages = []
messages << { :message => message_handle, :visibility_timeout => 5 }
queue.batch_change_message_visibility(messages)

Есть идеи? Любая помощь будет очень кстати :) Спасибо


person PapelPincel    schedule 25.07.2012    source источник


Ответы (1)


Вы должны использовать оператор splat при передаче параметра массива сообщений методу batch_change_message_visibility.

Как показано в документах здесь, вы должны напишите (обратите внимание на * перед параметром messages):

messages = []
messages << { :message => 'handle1', :visibility_timeout => 5 }
messages << { :message => 'handle2', :visibility_timeout => 10 }

queue.batch_change_visibility(*messages)
person Christian    schedule 17.10.2012