class Lambdakiq::Queue
Attributes
queue_name[R]
queue_url[R]
Public Class Methods
new(queue_name)
click to toggle source
# File lib/lambdakiq/queue.rb, line 7 def initialize(queue_name) @queue_name = queue_name @queue_url = get_queue_url attributes end
Public Instance Methods
attributes()
click to toggle source
# File lib/lambdakiq/queue.rb, line 17 def attributes @attributes ||= client.get_queue_attributes({ queue_url: queue_url, attribute_names: ['All'] }).attributes end
fifo?()
click to toggle source
# File lib/lambdakiq/queue.rb, line 32 def fifo? queue_name.ends_with?('.fifo') end
max_receive_count()
click to toggle source
# File lib/lambdakiq/queue.rb, line 28 def max_receive_count redrive_policy['maxReceiveCount'].to_i end
redrive_policy()
click to toggle source
# File lib/lambdakiq/queue.rb, line 24 def redrive_policy @redrive_policy ||= JSON.parse(attributes['RedrivePolicy']) end
send_message(job, options = {})
click to toggle source
# File lib/lambdakiq/queue.rb, line 13 def send_message(job, options = {}) client.send_message send_message_params(job, options) end
Private Instance Methods
client()
click to toggle source
# File lib/lambdakiq/queue.rb, line 38 def client Lambdakiq.client.sqs end
get_queue_url()
click to toggle source
# File lib/lambdakiq/queue.rb, line 42 def get_queue_url client.get_queue_url(queue_name: queue_name).queue_url end
message_params(job, options)
click to toggle source
# File lib/lambdakiq/queue.rb, line 50 def message_params(job, options) Message.new(self, job, options).params end
send_message_params(job, options)
click to toggle source
# File lib/lambdakiq/queue.rb, line 46 def send_message_params(job, options) { queue_url: queue_url }.merge(message_params(job, options)) end