diff options
author | ThibG <thib@sitedethib.com> | 2020-05-13 23:46:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-13 23:46:09 +0200 |
commit | e1d282023432ff4a88cb795f3a9889704314e448 (patch) | |
tree | 89f9525142d0bf876a4fb6e0117163c0a76bb78a /app/lib/sidekiq_error_handler.rb | |
parent | c6ff4c634caf718adf7280e04909c091d15add1d (diff) | |
parent | d147dd7588502f22ac825780bb1d6e54eb3613e6 (diff) |
Merge pull request #1327 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/lib/sidekiq_error_handler.rb')
-rw-r--r-- | app/lib/sidekiq_error_handler.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/lib/sidekiq_error_handler.rb b/app/lib/sidekiq_error_handler.rb index 8eb6b942d..b07817d45 100644 --- a/app/lib/sidekiq_error_handler.rb +++ b/app/lib/sidekiq_error_handler.rb @@ -1,13 +1,24 @@ # frozen_string_literal: true class SidekiqErrorHandler + BACKTRACE_LIMIT = 3 + def call(*) yield rescue Mastodon::HostValidationError # Do not retry + rescue => e + limit_backtrace_and_raise(e) ensure socket = Thread.current[:statsd_socket] socket&.close Thread.current[:statsd_socket] = nil end + + private + + def limit_backtrace_and_raise(e) + e.set_backtrace(e.backtrace.first(BACKTRACE_LIMIT)) + raise e + end end |