Sha256: d23a4bf9fca5b6f1748384733924af63431e7d075592ce0c67f3907b76884ae8

Contents?: true

Size: 852 Bytes

Versions: 30

Compression:

Stored size: 852 Bytes

Contents

require 'yaml'

module DaemonKit
  # Thin wrapper around the amqp gem, specifically designed to ease
  # configuration of a AMQP consumer daemon and provide some added
  # simplicity
  class AMQP

    @@instance = nil

    class << self

      def instance
        @instance ||= new
      end

      private :new

      def run(&block)
        instance.run(&block)
      end
    end

    def initialize( config = {} )
      @config = DaemonKit::Config.load('amqp').to_h( true )
    end

    def run(&block)
      # Ensure graceful shutdown of the connection to the broker
      DaemonKit.trap('INT') { ::AMQP.stop { ::EM.stop } }
      DaemonKit.trap('TERM') { ::AMQP.stop { ::EM.stop } }

      # Start our event loop and AMQP client
      DaemonKit.logger.debug("AMQP.start(#{@config.inspect})")
      ::AMQP.start(@config, &block)
    end
  end
end

Version data entries

30 entries across 30 versions & 5 rubygems

Version Path
kennethkalmer-daemon-kit-0.1.7.10 lib/daemon_kit/amqp.rb
kennethkalmer-daemon-kit-0.1.7.4 lib/daemon_kit/amqp.rb
kennethkalmer-daemon-kit-0.1.7.5 lib/daemon_kit/amqp.rb
kennethkalmer-daemon-kit-0.1.7.7 lib/daemon_kit/amqp.rb
kennethkalmer-daemon-kit-0.1.7.8 lib/daemon_kit/amqp.rb
kennethkalmer-daemon-kit-0.1.7.9 lib/daemon_kit/amqp.rb
queso-daemon-kit-0.1.7.10 lib/daemon_kit/amqp.rb
skaar-daemon-kit-0.1.7.10 lib/daemon_kit/amqp.rb
daemon-kit-0.1.8rc2 lib/daemon_kit/amqp.rb
daemon-kit-0.1.8rc1 lib/daemon_kit/amqp.rb
apphunkd-0.13.0 vendor/daemon_kit/lib/daemon_kit/amqp.rb
apphunkd-0.12.2 vendor/daemon_kit/lib/daemon_kit/amqp.rb
apphunkd-0.12.1 vendor/daemon_kit/lib/daemon_kit/amqp.rb
apphunkd-0.12.0 vendor/daemon_kit/lib/daemon_kit/amqp.rb
daemon-kit-0.1.8pre lib/daemon_kit/amqp.rb
apphunkd-0.11.1 vendor/daemon_kit/lib/daemon_kit/amqp.rb
apphunkd-0.11.0 vendor/daemon_kit/lib/daemon_kit/amqp.rb
daemon-kit-0.1.7.12 lib/daemon_kit/amqp.rb
daemon-kit-0.1.7.11 lib/daemon_kit/amqp.rb
apphunkd-0.10.1 vendor/daemon_kit/lib/daemon_kit/amqp.rb