Sha256: 6ad0171a7b1be3bc831140be196dd36b05024c2d7877df9157280f7a4caecdfb
Contents?: true
Size: 1.07 KB
Versions: 7
Compression:
Stored size: 1.07 KB
Contents
module Lambdakiq class Queue attr_reader :queue_name, :queue_url def initialize(queue_name) @queue_name = queue_name @queue_url = get_queue_url attributes end def send_message(job, options = {}) client.send_message send_message_params(job, options) end def attributes @attributes ||= client.get_queue_attributes({ queue_url: queue_url, attribute_names: ['All'] }).attributes end def redrive_policy @redrive_policy ||= JSON.parse(attributes['RedrivePolicy']) end def max_receive_count redrive_policy['maxReceiveCount'].to_i end def fifo? queue_name.ends_with?('.fifo') end private def client Lambdakiq.client.sqs end def get_queue_url client.get_queue_url(queue_name: queue_name).queue_url end def send_message_params(job, options) { queue_url: queue_url }.merge(message_params(job, options)) end def message_params(job, options) Message.new(self, job, options).params end end end
Version data entries
7 entries across 7 versions & 1 rubygems