Sha256: b3e9511874f866f3d586bec576c419f32e5731c2f472c23c6e4ba08badeebeca

Contents?: true

Size: 581 Bytes

Versions: 4

Compression:

Stored size: 581 Bytes

Contents

module Jackhammer
  class Queue
    def initialize(topic:, queue:, handler:, routing:)
      @topic = topic
      @queue = queue
      @queue.bind @topic, routing_key: routing
      @handler_object = handler
    end

    def subscribe
      @queue.subscribe do |delivery_info, properties, content|
        Log.info { [delivery_info.inspect, properties.inspect].join(' || ') }
        Log.debug { content }
        @handler_object.call content
      rescue StandardError => e
        Log.error e
        Jackhammer.configuration.exception_adapter.call e
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jackhammer-1.1.0 lib/jackhammer/queue.rb
jackhammer-1.0.0 lib/jackhammer/queue.rb
jackhammer-0.2.3 lib/jackhammer/queue.rb
jackhammer-0.2.2 lib/jackhammer/queue.rb