# File lib/god/driver.rb, line 30 def initialize(task) @task = task @events = [] @ops = Queue.new @thread = Thread.new do loop do begin if !@ops.empty? self.handle_op elsif !@events.empty? self.handle_event else sleep INTERVAL end rescue Exception => e message = format("Unhandled exception in driver loop - (%s): %s\n%s", e.class, e.message, e.backtrace.join("\n")) applog(nil, :fatal, message) end end end end