Class: BackoffWaiter
- Defined in:
- lib/record_store/provider/provider_utils/waiter.rb
Instance Attribute Summary
Attributes inherited from Waiter
Instance Method Summary collapse
-
#initialize(message, initial_delay:, multiplier:, max_delay: nil) ⇒ BackoffWaiter
constructor
A new instance of BackoffWaiter.
- #reset ⇒ Object
- #wait(message: @message) ⇒ Object
Constructor Details
#initialize(message, initial_delay:, multiplier:, max_delay: nil) ⇒ BackoffWaiter
Returns a new instance of BackoffWaiter.
25 26 27 28 29 30 31 |
# File 'lib/record_store/provider/provider_utils/waiter.rb', line 25 def initialize(, initial_delay:, multiplier:, max_delay: nil) super() @initial_delay = @current_delay = initial_delay @multiplier = multiplier @max_delay = max_delay end |
Instance Method Details
#reset ⇒ Object
33 34 35 |
# File 'lib/record_store/provider/provider_utils/waiter.rb', line 33 def reset @current_delay = @initial_delay end |
#wait(message: @message) ⇒ Object
37 38 39 40 |
# File 'lib/record_store/provider/provider_utils/waiter.rb', line 37 def wait(message: @message) super(@current_delay, message: ) @current_delay = [@current_delay * @multiplier, @max_delay].compact.min end |