History

Log errors instead of exiting when scraping docs

Thibaut Courouble committed 10 years ago

Commit 64eb1c81 parent e0a211e4 files · +21 −2Browse files

Showing the changes to lib/docs (2 of 4 files). Show all

Unified · Split

2 files
  1. lib/docs/core/scraper.rb +6 −2
  2. lib/docs/subscribers/doc_subscriber.rb +9 −0
lib/docs/core/scraper.rb+6−2
@@ -163,8 +163,12 @@ module Docs · 162 unmodified lines
163163 instrument 'ignore_response.scraper', response: response
164164 end
165165 rescue => e
166− puts "URL: #{response.url}"
167− raise e
166+ if Docs.rescue_errors
167+ instrument 'error.doc', exception: e, url: response.url
168+ nil
169+ else
170+ raise e
171+ end
168172 end
169173
170174 def process_response(response)
lib/docs/subscribers/doc_subscriber.rb+9−0
@@ -20,6 +20,15 @@ module Docs · 19 unmodified lines
2020 log event.payload[:msg]
2121 end
2222
23+ def error(event)
24+ exception = event.payload[:exception]
25+ log "ERROR:"
26+ puts " #{event.payload[:url]}"
27+ puts " #{exception.class}: #{exception.message.gsub("\n", "\n ")}"
28+ puts exception.backtrace.select { |line| line.start_with?(Docs.root_path) }.join("\n ").prepend("\n ")
29+ puts "\n"
30+ end
31+
2332 private
2433
2534 def parse_payload(event)