Обучение программированию на php-фреймворке Laravel.
if (Lottery::odds(1 / 5)->choose()) {
throw new Exception("Oops");
}
Но нам на это чхать, главное, чтобы он сработал в течении часа. И мы оборачиваем этот код во Flaky-защиту:
Flaky::make('my-flaky-code')
->allowFailuresForAnHour()
->run(function() {
if (Lottery::odds(1 / 5)->choose()) {
throw new Exception("Oops");
}
})
Теперь исключения не будут выброшены, если операция завершилась успешно в течение часа.
https://github.com/hammerstonedev/flaky