AbstractErrorCodeBackoffStrategy
extends AbstractBackoffStrategy
in package
Strategy used to retry when certain error codes are encountered
Table of Contents
Properties
- $defaultErrorCodes : array<string|int, mixed>
- $errorCodes : array<string|int, mixed>
- $next : AbstractBackoffStrategy
Methods
- __construct() : mixed
- getBackoffPeriod() : bool|int
- Get the amount of time to delay in seconds before retrying a request
- getDefaultFailureCodes() : array<string|int, mixed>
- Get the default failure codes to retry
- getNext() : AbstractBackoffStrategy|null
- Get the next backoff strategy in the chain
- makesDecision() : bool
- Check if the strategy does filtering and makes decisions on whether or not to retry.
- setNext() : mixed
- getDelay() : bool|int|null
- Implement the concrete strategy
Properties
$defaultErrorCodes
protected
static array<string|int, mixed>
$defaultErrorCodes
= array()
Default cURL errors to retry
$errorCodes
protected
array<string|int, mixed>
$errorCodes
Error codes that can be retried
$next
protected
AbstractBackoffStrategy
$next
Next strategy in the chain
Methods
__construct()
public
__construct([array<string|int, mixed> $codes = null ][, BackoffStrategyInterface $next = null ]) : mixed
Parameters
- $codes : array<string|int, mixed> = null
-
Array of codes that should be retried
- $next : BackoffStrategyInterface = null
-
The optional next strategy
getBackoffPeriod()
Get the amount of time to delay in seconds before retrying a request
public
getBackoffPeriod(mixed $retries, RequestInterface $request[, Response $response = null ][, HttpException $e = null ]) : bool|int
Parameters
- $retries : mixed
-
Number of retries of the request
- $request : RequestInterface
-
Request that was sent
- $response : Response = null
-
Response that was received. Note that there may not be a response
- $e : HttpException = null
-
Exception that was encountered if any
Return values
bool|int —Returns false to not retry or the number of seconds to delay between retries
getDefaultFailureCodes()
Get the default failure codes to retry
public
static getDefaultFailureCodes() : array<string|int, mixed>
Return values
array<string|int, mixed>getNext()
Get the next backoff strategy in the chain
public
getNext() : AbstractBackoffStrategy|null
Return values
AbstractBackoffStrategy|nullmakesDecision()
Check if the strategy does filtering and makes decisions on whether or not to retry.
public
makesDecision() : bool
Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff decision.
Return values
boolsetNext()
public
setNext(AbstractBackoffStrategy $next) : mixed
Parameters
- $next : AbstractBackoffStrategy
-
Next strategy in the chain
getDelay()
Implement the concrete strategy
protected
abstract getDelay(int $retries, RequestInterface $request[, Response $response = null ][, HttpException $e = null ]) : bool|int|null
Parameters
- $retries : int
-
Number of retries of the request
- $request : RequestInterface
-
Request that was sent
- $response : Response = null
-
Response that was received. Note that there may not be a response
- $e : HttpException = null
-
Exception that was encountered if any
Return values
bool|int|null —Returns false to not retry or the number of seconds to delay between retries. Return true or null to defer to the next strategy if available, and if not, return 0.