Sha256: f0f44f26faccdd2324bf81345970bb15629d7a4aaba7c0802dd097e7990ab41b
Contents?: true
Size: 867 Bytes
Versions: 7
Compression:
Stored size: 867 Bytes
Contents
require 'yaml' require 'amqp' 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
7 entries across 7 versions & 1 rubygems