Class: Arsenicum::Queue::Sqs
- Inherits:
-
Arsenicum::Queue
- Object
- Arsenicum::Queue
- Arsenicum::Queue::Sqs
- Defined in:
- lib/arsenicum/queue/sqs.rb
Instance Attribute Summary collapse
-
#sqs_queue ⇒ Object
readonly
Returns the value of attribute sqs_queue.
-
#via_sns ⇒ Object
readonly
Returns the value of attribute via_sns.
Attributes inherited from Arsenicum::Queue
#broker, #name, #router, #worker_count
Instance Method Summary collapse
- #handle_success(original_message) ⇒ Object
-
#initialize(name, options = {}) ⇒ Sqs
constructor
A new instance of Sqs.
- #pick ⇒ Object
Methods inherited from Arsenicum::Queue
#handle_failure, #register, #start, #start_async, #stop
Constructor Details
#initialize(name, options = {}) ⇒ Sqs
Returns a new instance of Sqs.
7 8 9 10 11 12 13 |
# File 'lib/arsenicum/queue/sqs.rb', line 7 def initialize(name, = {}) super name, sqs_args = [[:aws_account]].tap(&:compact!) sqs = AWS::SQS.new *sqs_args @sqs_queue = sqs.queues.named(name) @via_sns = [:via_sns] end |
Instance Attribute Details
#sqs_queue ⇒ Object (readonly)
Returns the value of attribute sqs_queue.
5 6 7 |
# File 'lib/arsenicum/queue/sqs.rb', line 5 def sqs_queue @sqs_queue end |
#via_sns ⇒ Object (readonly)
Returns the value of attribute via_sns.
5 6 7 |
# File 'lib/arsenicum/queue/sqs.rb', line 5 def via_sns @via_sns end |
Instance Method Details
#handle_success(original_message) ⇒ Object
23 24 25 |
# File 'lib/arsenicum/queue/sqs.rb', line 23 def handle_success() .delete end |
#pick ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/arsenicum/queue/sqs.rb', line 15 def pick = = sqs_queue. return unless = . if via_sns [MultiJson.decode(.body), ] end |