From d3076db1d0328f73ce58a3f0fd3bed1bcc7d2c5b Mon Sep 17 00:00:00 2001 From: Pablo Cantero Date: Sun, 19 Mar 2017 14:01:22 -0400 Subject: [PATCH] Fix #339 Use `get_queue_url` to get a single queue URL. In the same way (consequently requiring same permissions as Shoryuken does) to retrivieng a single queue name --- bin/cli/sqs.rb | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/bin/cli/sqs.rb b/bin/cli/sqs.rb index 0f529e38..28f81432 100644 --- a/bin/cli/sqs.rb +++ b/bin/cli/sqs.rb @@ -20,18 +20,10 @@ def sqs @_sqs ||= Aws::SQS::Client.new end - def find_queue_url(queue_name_prefix) - urls = sqs.list_queues(queue_name_prefix: queue_name_prefix).queue_urls - - if urls.size > 1 - fail_task "There's more than one queue starting with #{queue_name_prefix}: #{urls.join(', ')}" - end - - url = urls.first - - fail_task "Queue #{queue_name_prefix} not found" unless url - - url + def find_queue_url(queue_name) + sqs.get_queue_url(queue_name: queue_name).queue_url + rescue Aws::SQS::Errors::NonExistentQueue + fail_task "The specified queue #{queue_name} does not exist" end def batch_delete(url, messages)