Class: RubyReactor::Executor::RetryManager

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_reactor/executor/retry_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(context, middlewares = nil) ⇒ RetryManager

Returns a new instance of RetryManager.



6
7
8
9
# File 'lib/ruby_reactor/executor/retry_manager.rb', line 6

def initialize(context, middlewares = nil)
  @context = context
  @middlewares = middlewares || context.middlewares || Executor.middlewares_for(context.reactor_class)
end

Instance Method Details

#execute_with_retry(step_config, reactor_class) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/ruby_reactor/executor/retry_manager.rb', line 11

def execute_with_retry(step_config, reactor_class)
  loop do
    prepare_retry_attempt(step_config)
    result = yield
    handled_result = handle_retry_result(step_config, reactor_class, result)
    return handled_result if handled_result
  end
end