class Sidekiq::Rescue::ServerMiddleware
def rescue_error(error, error_group, options, job_payload)
def rescue_error(error, error_group, options, job_payload) delay, limit, jitter = options.fetch_values(:delay, :limit, :jitter) queue = options.fetch(:queue, job_payload["queue"]) rescue_counter = increment_rescue_counter_for(error_group, job_payload) raise error if rescue_counter > limit calculated_delay = calculate_delay(delay, rescue_counter, jitter) log_reschedule_info(rescue_counter, error, calculated_delay) reschedule_job(job_payload: job_payload, delay: calculated_delay, rescue_counter: rescue_counter, error_group: error_group, queue: queue) end