Module: Toccatore::Queue
- Included in:
- UsageUpdate
- Defined in:
- lib/toccatore/queue.rb
Instance Method Summary collapse
- #delete_message(options = {}) ⇒ Object
- #get_message(options = {}) ⇒ Object
- #get_total(options = {}) ⇒ Object
- #queue(options = {}) ⇒ Object
- #queue_url(options = {}) ⇒ Object
Instance Method Details
#delete_message(options = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/toccatore/queue.rb', line 30 def ={} reponse = @sqs.({ queue_url: queue_url, receipt_handle: .[0][:receipt_handle] }) if reponse.successful? puts "Message #{options.messages[0][:receipt_handle]} deleted" 0 else puts "Could NOT delete Message #{options.messages[0][:receipt_handle]}" 1 end end |
#get_message(options = {}) ⇒ Object
26 27 28 |
# File 'lib/toccatore/queue.rb', line 26 def ={} @sqs.(queue_url: queue_url, max_number_of_messages: 1, wait_time_seconds: 1) end |
#get_total(options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/toccatore/queue.rb', line 10 def get_total ={} req = @sqs.get_queue_attributes( { queue_url: queue_url, attribute_names: [ 'ApproximateNumberOfMessages', 'ApproximateNumberOfMessagesNotVisible' ] } ) msgs_available = req.attributes['ApproximateNumberOfMessages'] msgs_in_flight = req.attributes['ApproximateNumberOfMessagesNotVisible'] msgs_available.to_i end |
#queue(options = {}) ⇒ Object
6 7 8 |
# File 'lib/toccatore/queue.rb', line 6 def queue ={} Aws::SQS::Client.new(region: ENV['AWS_REGION'].to_s, stub_responses: false) end |
#queue_url(options = {}) ⇒ Object
45 46 47 48 |
# File 'lib/toccatore/queue.rb', line 45 def queue_url ={} queue_name = queue_name ||= "#{ENV['ENVIROMENT']}_usage" @sqs.get_queue_url(queue_name: queue_name).queue_url end |