# File lib/adaptation/mom.rb, line 36 def start DRb.start_service(@mom_uri, self) puts "MOM started. Listening at #{@mom_uri}" @sleeper = Thread.new{ loop do # deliver all messages while !@messages.empty? @messages.each do |message| get_subscribers.each do |uri| begin puts "Calling #{uri}" DRb.start_service oapdaemon = DRbObject.new(nil, uri) oapdaemon.send_message message[0], message[1] rescue puts "Couldn't send message to subscriber: #{uri}" end end @messages.delete message end end # go to sleep Thread.stop end } @sleeper.join DRb.thread.join # Don't exit just yet end