1. Go to this page and download the library: Download ilicmiljan/retry-master 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/ */
ilicmiljan / retry-master example snippets
use IlicMiljan\RetryMaster\RetryTemplate;
use IlicMiljan\RetryMaster\Policy\Retry\MaxAttemptsRetryPolicy;
use IlicMiljan\RetryMaster\Policy\Backoff\ExponentialBackoffPolicy;
use IlicMiljan\RetryMaster\RetryTemplateBuilder;
use IlicMiljan\RetryMaster\Callback\RetryCallback;
use IlicMiljan\RetryMaster\Context\RetryContext;
$retryTemplate = (new RetryTemplateBuilder())->build();
$retryCallback = new class implements RetryCallback {
public function doWithRetry(RetryContext $context) {
// Your operation goes here. For example:
// return $this->repository->find($id);
}
};
$result = $retryTemplate->execute($retryCallback);
use IlicMiljan\RetryMaster\RetryTemplateBuilder;
use IlicMiljan\RetryMaster\Policy\Retry\MaxAttemptsRetryPolicy;
use IlicMiljan\RetryMaster\Policy\Backoff\UniformRandomBackoffPolicy;
$retryPolicy = new MaxAttemptsRetryPolicy(5);
$backoffPolicy = new UniformRandomBackoffPolicy(500, 1500);
$retryTemplate = (new RetryTemplateBuilder())
->setRetryPolicy($retryPolicy)
->setBackoffPolicy($backoffPolicy)
->build();
use IlicMiljan\RetryMaster\RetryTemplateBuilder;
use IlicMiljan\RetryMaster\Callback\RetryCallback;
use IlicMiljan\RetryMaster\Callback\RecoveryCallback;
use IlicMiljan\RetryMaster\Context\RetryContext;
$retryTemplate = (new RetryTemplateBuilder())->build();
$retryCallback = new class implements RetryCallback {
public function doWithRetry(RetryContext $context) {
// Your operation goes here.
}
};
$recoveryCallback = new class implements RecoveryCallback {
public function recover(RetryContext $context) {
// Your recovery logic goes here. For example:
// return $this->fallbackRepository->find($id);
}
};
$result = $retryTemplate->executeWithRecovery($retryCallback, $recoveryCallback);
use IlicMiljan\RetryMaster\Policy\Backoff\ExponentialRandomBackoffPolicy;
use IlicMiljan\RetryMaster\Util\Random;
$randomGenerator = // Your implementation of the Random interface here.
$backoffPolicy = new ExponentialRandomBackoffPolicy();
$backoffPolicy->setRandom($randomGenerator);
use IlicMiljan\RetryMaster\RetryTemplateBuilder;
use IlicMiljan\RetryMaster\Util\Sleeper;
$sleeper = // Your implementation of the Sleeper interface here.
$retryTemplate = (new RetryTemplateBuilder())
->setSleeper($sleeper)
->build();
use IlicMiljan\RetryMaster\RetryTemplateBuilder;
use Psr\Log\LoggerInterface;
$logger = // Your PSR-3 compatible logger here.
$retryTemplate = (new RetryTemplateBuilder())
->setLogger($logger)
->build();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.