Sha256: d6fbbdb3a2235d09ef5f5013f7e4be5ffdd2438eb69cb49acea9ed82bfebb15d
Contents?: true
Size: 784 Bytes
Versions: 2
Compression:
Stored size: 784 Bytes
Contents
# frozen_string_literal: true require 'forwardable' require 'bunny' module CottonTail module Queue # Wrapper for Bunny::Session class Connection extend Forwardable def initialize(url = ENV.fetch('AMQP_ADDRESS', 'amqp://localhost:5672')) @url = url end def chan(prefetch = 1) @channels ||= Hash.new do |h, key| h[key] = session.create_channel.tap do |ch| ch.prefetch(prefetch) end end @channels[prefetch] end def exchange @exchange ||= chan.exchange('amq.topic') end def session @session ||= ::Bunny.new(@url).tap(&:start) end def_delegators :chan, :ack, :nack, :queue def_delegators :exchange, :publish end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cotton-tail-0.1.2 | lib/cotton_tail/queue/connection.rb |
cotton-tail-0.1.1 | lib/cotton_tail/queue/connection.rb |