require 'rubygems' require 'mq' EM.error_handler {|e| p [:exception, e] if e.kind_of? AMQP::Error EM.add_timer(1) { AMQP.conn.reconnect } end } def do_setup p [:do_setup] mq = MQ.new mq.queue("test").subscribe { |msg| p msg } end EM.run { AMQP.start conn = AMQP.conn conn.callback { do_setup } conn.connection_status { |status| p [:connection_status,status] } }