Google Cloud PHP shared dependency, providing functionality useful to all components. Client - Class ExponentialBackoff (1.59.1)

Reference documentation and code samples for the Google Cloud PHP shared dependency, providing functionality useful to all components. Client class ExponentialBackoff.

Exponential backoff implementation.

Namespace

Google \ Cloud \ Core

Methods

__construct

Parameters
Name Description
retries int

[optional] Number of retries for a failed request.

retryFunction callable

[optional] returns bool for whether or not to retry

retryListener callable

[optional] Runs after the $retryFunction. Unlike the $retryFunction,this function isn't responsible to decide if a retry should happen or not, but it gives the users flexibility to consume exception messages and add custom logic. Function definition should match: function (\Exception $e, int $attempt, array $arguments): array Ex: One might want to change headers on every retry, this function can be used to achieve such a functionality.

execute

Executes the retry process.

Parameters
Name Description
function callable
arguments array

[optional]

Returns
Type Description
mixed

setDelayFunction

If not set, defaults to using usleep.

Parameter
Name Description
delayFunction callable
Returns
Type Description
void

setCalcDelayFunction

Parameter
Name Description
calcDelayFunction callable
Returns
Type Description
void

static::calculateDelay

Calculates exponential delay.

Parameter
Name Description
attempt int

The attempt number used to calculate the delay.

Returns
Type Description
int

Constants

MAX_DELAY_MICROSECONDS

Value: 60000000