Module: OMQ::QoS::RetryScheduler
- Defined in:
- lib/omq/qos/retry_scheduler.rb
Overview
Computes exponential backoff delays for QoS 3 retries.
range.begin is the first-retry delay. Each subsequent retry
doubles the delay, capped at range.end.
Class Method Summary collapse
-
.delay(retry_count, range) ⇒ Numeric
Seconds to sleep before the next retry attempt.
Class Method Details
.delay(retry_count, range) ⇒ Numeric
Returns seconds to sleep before the next retry attempt.
15 16 17 18 19 |
# File 'lib/omq/qos/retry_scheduler.rb', line 15 def self.delay(retry_count, range) return range.begin if retry_count <= 0 scaled = range.begin * (2 ** retry_count) scaled < range.end ? scaled : range.end end |