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