class EventMachine::HotTub::Reaper
Public Class Methods
spawn(obj)
click to toggle source
# File lib/em/hot_tub/reaper.rb, line 3 def self.spawn(obj) fiber = Fiber.new { Thread.current[:name] = "EventMachine::HotTub::Reaper" while true do break if obj.kill_reaper? begin obj.reap! break if obj.shutdown #Fiber.yield EM::Synchrony.sleep(obj.reap_timeout) rescue Exception => e HotTub.logger.error "HotTub::Reaper for #{obj.class.name} terminated with exception: #{e.message}" HotTub.logger.error e.backtrace.map {|line| " #{line}"} break end end } fiber end