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
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/toccatore/queue.rb', line 31 def ={} return 1 if ..size < 1 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
27 28 29 |
# File 'lib/toccatore/queue.rb', line 27 def ={} @sqs.(queue_url: queue_url, max_number_of_messages: 1, wait_time_seconds: 1) end |
#get_total(options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/toccatore/queue.rb', line 11 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 |
# File 'lib/toccatore/queue.rb', line 6 def queue ={} region = ENV['AWS_REGION'] ||= 'eu-west-1' Aws::SQS::Client.new(region: region.to_s, stub_responses: false) end |
#queue_url(options = {}) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/toccatore/queue.rb', line 47 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 |