Class: Toiler::Aws::Queue
- Inherits:
-
Object
- Object
- Toiler::Aws::Queue
- Defined in:
- lib/toiler/aws/queue.rb
Overview
SQS Queue abstraction Provides methods for querying and acting on a SQS queue
Instance Attribute Summary collapse
-
#client ⇒ Object
Returns the value of attribute client.
-
#name ⇒ Object
Returns the value of attribute name.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
- #ack_deadline ⇒ Object
- #delete_messages(options) ⇒ Object
-
#initialize(name, client) ⇒ Queue
constructor
A new instance of Queue.
- #max_messages ⇒ Object
- #receive_messages(wait: nil, max_messages: nil) ⇒ Object
- #send_message(options) ⇒ Object
- #send_messages(options) ⇒ Object
Constructor Details
#initialize(name, client) ⇒ Queue
Returns a new instance of Queue.
12 13 14 15 16 |
# File 'lib/toiler/aws/queue.rb', line 12 def initialize(name, client) @name = name @client = client @url = client.get_queue_url(queue_name: name).queue_url end |
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
10 11 12 |
# File 'lib/toiler/aws/queue.rb', line 10 def client @client end |
#name ⇒ Object
Returns the value of attribute name.
10 11 12 |
# File 'lib/toiler/aws/queue.rb', line 10 def name @name end |
#url ⇒ Object
Returns the value of attribute url.
10 11 12 |
# File 'lib/toiler/aws/queue.rb', line 10 def url @url end |
Instance Method Details
#ack_deadline ⇒ Object
18 19 20 21 22 23 |
# File 'lib/toiler/aws/queue.rb', line 18 def ack_deadline client.get_queue_attributes( queue_url: url, attribute_names: ['VisibilityTimeout'] ).attributes['VisibilityTimeout'].to_i end |
#delete_messages(options) ⇒ Object
25 26 27 |
# File 'lib/toiler/aws/queue.rb', line 25 def () client. .merge queue_url: url end |
#max_messages ⇒ Object
49 50 51 |
# File 'lib/toiler/aws/queue.rb', line 49 def 10 end |
#receive_messages(wait: nil, max_messages: nil) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/toiler/aws/queue.rb', line 39 def (wait: nil, max_messages: nil) client.(attribute_names: %w[All], message_attribute_names: %w[All], wait_time_seconds: wait, max_number_of_messages: , queue_url: url) . .map { |m| Message.new(client, url, m) } end |
#send_message(options) ⇒ Object
29 30 31 |
# File 'lib/toiler/aws/queue.rb', line 29 def () client. .merge queue_url: url end |
#send_messages(options) ⇒ Object
33 34 35 36 37 |
# File 'lib/toiler/aws/queue.rb', line 33 def () client.( (.merge(queue_url: url)) ) end |