class Airbrake::ThreadPool
def close
-
(Airbrake::Error)- when invoked more than one time
Returns:
-
(void)-
def close threads = @mutex.synchronize do raise Airbrake::Error, 'this thread pool is closed already' if @closed unless @queue.empty? msg = "#{LOG_LABEL} waiting to process #{@queue.size} task(s)..." logger.debug("#{msg} (Ctrl-C to abort)") end @worker_size.times { @queue << :stop } @closed = true @workers.list.dup end threads.each(&:join) logger.debug("#{LOG_LABEL} #{@name} thread pool closed") end