vein.backoff package¶

Submodules¶

vein.backoff.policies module¶

This module defines pre-flowured backoff policies for use with the exponential backoff mechanism.

vein.backoff.policies.BASIC_BACKOFF_POLICY¶

A basic backoff policy flow

Type:

BackoffPolicy

with the following settings
  • max_retries: 6 (Maximum number of retry attempts)

  • base_delay: 0.5 seconds (Initial delay between retries)

  • max_delay: 32 seconds (Maximum delay between retries)

  • factor: 2 (Delay is doubled each time)

  • jitter: True (Random jitter is added to the delay to reduce collision)

Module contents¶

This module provides an implementation of an exponential backoff mechanism.

Classes:

BackoffPolicy: Policy class for the exponential backoff mechanism.

Functions:

exponential_backoff: Decorator function to apply exponential backoff retries to a function.

Exceptions:

MaxRetriesExceededError: Raised when the maximum number of retries is exceeded.

class vein.backoff.BackoffPolicy(max_retries: int, base_delay: float, max_delay: float, factor: float, jitter: bool)[source]¶

Bases: object

Policy for the exponential backoff mechanism.

max_retries¶

Maximum number of retry attempts.

Type:

int

base_delay¶

Initial delay between retries in seconds.

Type:

float

max_delay¶

Maximum delay between retries in seconds.

Type:

float

factor¶

Multiplicative factor for delay growth.

Type:

float

jitter¶

If True, adds a random jitter to the delay.

Type:

bool

base_delay: float¶
factor: float¶
jitter: bool¶
max_delay: float¶
max_retries: int¶
vein.backoff.exponential_backoff(backoff_policy: BackoffPolicy)[source]¶

Decorator for exponential backoff retries.

Parameters:

backoff_policy (BackoffPolicy) – Policy object containing: - max_retries (int): Maximum number of retry attempts. - base_delay (float): Initial delay between retries in seconds. - max_delay (float): Maximum delay between retries in seconds. - factor (float): Multiplicative factor for delay growth. - jitter (bool): If True, adds a random jitter to the delay.

Returns:

Wrapped function with retry mechanism.

Return type:

function