diff --git a/sentry-sidekiq/lib/sentry/sidekiq/error_handler.rb b/sentry-sidekiq/lib/sentry/sidekiq/error_handler.rb index 1ff14eb99..088db89de 100644 --- a/sentry-sidekiq/lib/sentry/sidekiq/error_handler.rb +++ b/sentry-sidekiq/lib/sentry/sidekiq/error_handler.rb @@ -60,6 +60,9 @@ def call(ex, context, sidekiq_config = nil) def retryable?(context) retry_option = context.dig(:job, "retry") + retry_option ||= context.dig(:job, "class")&.safe_constantize + &.get_sidekiq_options + &.[]("retry") # when `retry` is not specified, it's default is `true` and it means 25 retries. retry_option == true || (retry_option.is_a?(Integer) && retry_option.positive?) end