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
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/toccatore/queue.rb', line 33 def ={} return 1 if ..size < 1 reponse = @sqs.({ queue_url: queue_url, receipt_handle: .[0][:receipt_handle] }) if reponse.successful? puts "Message #{.[0][:receipt_handle]} deleted" 0 else puts "Could NOT delete Message #{.[0][:receipt_handle]}" 1 end end |
#get_message(options = {}) ⇒ Object
29 30 31 |
# File 'lib/toccatore/queue.rb', line 29 def ={} @sqs.(queue_url: queue_url, max_number_of_messages: 1, wait_time_seconds: 1) end |
#get_total(options = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/toccatore/queue.rb', line 13 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 9 10 11 |
# File 'lib/toccatore/queue.rb', line 6 def queue ={} puts "Queue name has not been specified" unless ENV['ENVIRONMENT'].present? puts "AWS_REGION has not been specified" unless ENV['AWS_REGION'].present? region = ENV['AWS_REGION'] ||= 'eu-west-1' Aws::SQS::Client.new(region: region.to_s, stub_responses: false) end |
#queue_url(options = {}) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/toccatore/queue.rb', line 49 def queue_url ={} [:queue_name] ||= "#{ENV['ENVIRONMENT']}_usage" queue_name = [:queue_name] # puts "Using #{@sqs.get_queue_url(queue_name: queue_name).queue_url} queue" @sqs.get_queue_url(queue_name: queue_name).queue_url end |