module SQS
Private Class Methods
sqs()
click to toggle source
# File lib/sqs_cli/sqs.rb, line 38 def self.sqs @sqs ||= Aws::SQS::Client.new end
Public Instance Methods
all_queues()
click to toggle source
# File lib/sqs_cli/sqs.rb, line 6 def all_queues sqs.list_queues.queue_urls end
delete_message_batch(queue_url, batch)
click to toggle source
# File lib/sqs_cli/sqs.rb, line 29 def delete_message_batch(queue_url, batch) entries = batch.map do |m| { id: m.message_id, receipt_handle: m.receipt_handle } end sqs.delete_message_batch(queue_url: queue_url, entries: entries) end
read_message_batches(queue_url, &block)
click to toggle source
# File lib/sqs_cli/sqs.rb, line 10 def read_message_batches(queue_url, &block) loop do resp = sqs.receive_message( queue_url: queue_url, max_number_of_messages: 10, visibility_timeout: 10 ) break if resp.messages.empty? block.call resp.messages end end
send_message_batch(queue_url, batch)
click to toggle source
# File lib/sqs_cli/sqs.rb, line 22 def send_message_batch(queue_url, batch) entries = batch.map do |msg| { id: msg.message_id, message_body: msg.body } end sqs.send_message_batch(queue_url: queue_url, entries: entries) end