class Bogo::Retry::Exponential
Exponential
retry implementation
Attributes
wait_exponent[R]
@return [Numeric]
wait_interval[R]
@return [Numeric]
Public Class Methods
new(args={}, &block)
click to toggle source
Create a new linear retry instance
@param args [Hash] @option args [Numeric] :wait_interval Defaults to 5 seconds @option args [Numeric] :wait_exponent Defaults to 2 @return [self]
Calls superclass method
Bogo::Retry::new
# File lib/bogo/retry.rb, line 181 def initialize(args={}, &block) @wait_interval = args[:wait_interval].to_f @wait_exponent = args[:wait_exponent].to_f unless(@wait_interval > 0) @wait_interval = 5 end unless(@wait_exponent > 0) @wait_exponent = 2 end super end
Protected Instance Methods
wait_on_failure(*_)
click to toggle source
@return [Numeric] wait time
# File lib/bogo/retry.rb, line 196 def wait_on_failure(*_) retries == 0 ? wait_interval : (wait_interval + retries) ** wait_exponent end