Обложка канала

Laravel World

Обучение программированию на php-фреймворке Laravel.

Laravel World

3 года назад
Открыть в
Бета-релиз 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
GitHub - hammerstonedev/flaky: Handle intermittent failures caused by unreliable third parties

Handle intermittent failures caused by unreliable third parties - GitHub - hammerstonedev/flaky: Handle intermittent failures caused by unreliable third parties

GitHub