class Soda::Queue
Constants
- DEFAULTS
- Message
Attributes
name[R]
options[R]
url[R]
Public Class Methods
new(name, url, options = {})
click to toggle source
# File lib/soda/queue.rb, line 52 def initialize(name, url, options = {}) @name = name @url = url @options = DEFAULTS.dup.merge(options) end
Public Instance Methods
==(other)
click to toggle source
# File lib/soda/queue.rb, line 100 def ==(other) other.name == name end
lazy_url()
click to toggle source
Lazily fetch queue URL if one is not provided as part of the queue configuration.
# File lib/soda/queue.rb, line 66 def lazy_url @lazy_url ||= url || begin resp = sqs.get_queue_url(queue_name: name) resp.queue_url end end
pop()
click to toggle source
# File lib/soda/queue.rb, line 84 def pop resp = sqs.receive_message( queue_url: lazy_url, attribute_names: %w[All], message_attribute_names: %w[All], wait_time_seconds: wait, visibility_timeout: timeout, ) Enumerator.new do |yielder| resp.messages.each do |msg| yielder.yield(Message.new(self, msg)) end end end
push_in(interval, str)
click to toggle source
# File lib/soda/queue.rb, line 74 def push_in(interval, str) sqs do |client| client.send_message( queue_url: lazy_url, message_body: str, delay_seconds: interval, ) end end