Бета-релиз 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