global
def run( threaded )
def run( threaded ) loop do begin mark_time break unless running? threaded.run if maximum_iterations self.iterations += 1 if finished_iterations? self.running = false break end end sleep if running? rescue SystemExit; raise rescue Exception => err if continue_on_error threaded.logger.error err else threaded.logger.fatal err raise err end end end ensure if threaded.respond_to?(:after_stopping) and !self.running threaded.after_stopping end self.running = false end # @private