Class ExponentialBackoffStrategy
Implements an exponential backoff retry strategy.
Warning: If no decision making strategies precede this strategy in the the chain, then all requests will be retried
- Guzzle\Plugin\Backoff\AbstractBackoffStrategy implements Guzzle\Plugin\Backoff\BackoffStrategyInterface
- Guzzle\Plugin\Backoff\ExponentialBackoffStrategy
Methods summary
-
public
makesDecision ( )
Check if the strategy does filtering and makes decisions on whether or not to retry.
-
protected
getDelay ( int $retries, Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response = null, Guzzle\Http\Exception\HttpException $e = null )
Implement the concrete strategy
Methods detail
Check if the strategy does filtering and makes decisions on whether or not to retry.
Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff decision.
Returns
boolean
#
protected
boolean|integer|null
getDelay( integer $retries, Guzzle\Http\Message\RequestInterface
$request, Guzzle\Http\Message\Response
$response = null, Guzzle\Http\Exception\HttpException
$e = null )
Implement the concrete strategy
Parameters
- $retries
integer
$retries Number of retries of the request- $request
Guzzle\Http\Message\RequestInterface
$request Request that was sent- $response
Guzzle\Http\Message\Response
$response Response that was received. Note that there may not be a response- $e
Guzzle\Http\Exception\HttpException
$e Exception that was encountered if any
Returns
boolean|integer|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.
Methods inherited from Guzzle\Plugin\Backoff\AbstractBackoffStrategy
getBackoffPeriod()
,
getNext()
,
setNext()