require 'travis/api/app' class Travis::Api::App class ErrorHandling def self.setup return unless Travis.config.sentry.dsn queue = ::SizedQueue.new(100) Thread.new do loop do begin Raven.send queue.pop rescue Exception => e puts e.message, e.backtrace end end end Raven.configure do |config| config.async = lambda { |event| queue << event if queue.num_waiting < 100 } config.dsn = Travis.config.sentry.dsn end end end end