Class: Kaisoku::Preload::FallbackRunner
- Inherits:
-
Object
- Object
- Kaisoku::Preload::FallbackRunner
- Defined in:
- lib/kaisoku/preload/fallback_runner.rb
Instance Method Summary collapse
-
#initialize(preload_server:) ⇒ FallbackRunner
constructor
A new instance of FallbackRunner.
- #run ⇒ Object
Constructor Details
#initialize(preload_server:) ⇒ FallbackRunner
Returns a new instance of FallbackRunner.
6 7 8 |
# File 'lib/kaisoku/preload/fallback_runner.rb', line 6 def initialize(preload_server:) @preload_server = preload_server end |
Instance Method Details
#run ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/kaisoku/preload/fallback_runner.rb', line 10 def run(&) return yield if @preload_server.disabled? preload_result = @preload_server.run(&) return preload_result unless suspicious_result?(preload_result) cold_result = yield disable_if_different(preload_result, cold_result) cold_result rescue StandardError => e @preload_server.disable!("preload failed: #{e.class}: #{e.}") yield end |