diff options
author | Starfall <admin@plural.cafe> | 2020-05-15 18:30:58 -0500 |
---|---|---|
committer | Starfall <admin@plural.cafe> | 2020-05-15 18:30:58 -0500 |
commit | 3f6370500cd8bf04fab9c9d8f3099271126a3097 (patch) | |
tree | 7215e9562c06435f9e6464fee2aa0185dd108a34 /app/lib/sidekiq_error_handler.rb | |
parent | ca3af6c5b00be851e2ced9112429cfc1baa79529 (diff) | |
parent | b7e178d2e4102bdaa1ea41dfd8ed50093cf3f60a (diff) |
Update to Mastodon 3.1.4 / Merge branch 'glitch'
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 |