1. Go to this page and download the library: Download orangesoft/backoff 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/ */
orangesoft / backoff example snippets
use Orangesoft\BackOff\ExponentialBackOff;
use Orangesoft\BackOff\Duration\Microseconds;
use Orangesoft\BackOff\Retry\ExceptionClassifier\ExceptionClassifier;
use Orangesoft\BackOff\Retry\Retry;
$retry = new Retry(
maxAttempts: 3,
backOff: new ExponentialBackOff(
baseTime: new Microseconds(1_000),
capTime: new Microseconds(512_000),
factor: 2.0,
),
exceptionClassifier: new ExceptionClassifier(
classNames: [
\RuntimeException::class,
],
),
);
/** @var int $result */
$result = $retry->call(static function (): int {
$random = mt_rand(0, 1);
if (0 === $random % 2) {
throw new \RuntimeException();
}
return $random;
});
use Orangesoft\BackOff\ExponentialBackOff;
use Orangesoft\BackOff\Duration\Microseconds;
use Orangesoft\BackOff\Jitter\EqualJitter;
$backOff = new ExponentialBackOff(
baseTime: new Microseconds(1_000),
capTime: new Microseconds(512_000),
factor: 2.0,
jitter: new EqualJitter(),
);
for ($i = 1; $i <= 10; $i++) {
$backOff->backOff(
attempt: $i,
);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.