1. Go to this page and download the library: Download tobion/retry library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tobion / retry example snippets
use Tobion\Retry\Retry;
$callableThatMightFail = function (int $arg1, int $arg2): int {
if (random_int(1, 2) % 2) {
throw new \RuntimeException('Sudden error');
}
return $arg1 + $arg2;
};
// Allows you to call the callable with parameters and retry its execution in case an exception is thrown.
// You can access the return value of the callable (3 in this case).
$returnValue = Retry::configure()->call($callableThatMightFail, 1, 2);
// By default:
// - The callable is retried twice (i.e. max three executions). If it still fails, the last error is rethrown.
// - Retries have a no delay between them.
// - Every \Throwable will trigger the retry logic, i.e. both \Exception and \Error.
// You can adjust the retry logic like this:
$retryingCallable = Retry::configure()
->maxRetries(5)
->delayInMs(100)
->retryOnSpecificExceptions(\RuntimeException::class) // other failures like \TypeError will not be retried
->decorate($callableThatMightFail)
;
$returnValue = $retryingCallable(1, 2);
// $retryingCallable just decorates the original callable and can be used like it.
// To find out how often it had to retry, you can use:
$retryingCallable->getRetries();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.