Как отловить сбои верхнего уровня на сервере EventMachine?

У меня есть сервер EventMachine, за которым я наблюдаю с помощью monit. Иногда происходит сбой, и я пытаюсь понять, почему, но мне непонятно, как я могу просто регистрировать все сбои верхнего уровня. Я пробовал такой код:

begin
  EventMachine::run do
    EventMachine::start_server('0.0.0.0', PORT, MyServer)
  end
rescue Exception => e
  puts "FAILURE: #{e.class}: #{e}"
end

, но, похоже, он никогда не обнаруживает ошибок. Я подозреваю, что это может быть что-то вроде нехватки памяти, которую я отслеживаю отдельно, но все же я хотел бы, чтобы этот сервер регистрировал свою ближайшую причину сбоя, если это возможно.

7
задан lacker 2 October 2011 в 18:07
поделиться