Бета-релиз Laravel Flaky 0.1
Интересный пакет, который позаботится о сбоях при работе со сторонними API.
Допустим, у нас есть нестабильный фрагмент кода, который падает в 20% случаев:
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