Променете времето за изчакване на видимостта за 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 << { :message => 'handle1', :visibility_timeout => 5 }
messages << { :message => 'handle2', :visibility_timeout => 10 }

queue.batch_change_visibility(*messages)
person Christian    schedule 17.10.2012