Перейти к содержанию

Default Connection Properties

Класс для хранения параметров соединения по умолчанию для aiohttp-клиента.

Parameters:

Name Type Description Default
timeout float

Таймаут всего соединения в секундах (по умолчанию 5 * 30).

5 * 30
sock_connect int

Таймаут установки TCP-соединения в секундах (по умолчанию 30).

30
max_retries int

Максимальное количество повторных попыток при серверных ошибках (по умолчанию 3).

3
retry_on_statuses tuple[int, ...]

HTTP-статусы, при которых выполняется повторная попытка (по умолчанию 502, 503, 504).

DEFAULT_RETRY_STATUSES
retry_backoff_factor float

Множитель для экспоненциальной задержки между попытками в секундах (по умолчанию 1.0, задержки: 1с, 2с, 4с).

1.0
**kwargs Any

Дополнительные параметры, которые будут сохранены как есть.

{}

Attributes:

Name Type Description
timeout ClientTimeout

Экземпляр aiohttp.ClientTimeout с заданными параметрами.

max_retries int

Максимальное количество повторных попыток.

retry_on_statuses tuple[int, ...]

HTTP-статусы для retry.

retry_backoff_factor float

Множитель задержки.

kwargs dict

Дополнительные параметры.

Инициализация параметров соединения.

Parameters:

Name Type Description Default
timeout float

Таймаут всего соединения в секундах.

5 * 30
sock_connect int

Таймаут установки TCP-соединения в секундах.

30
max_retries int

Максимальное количество повторных попыток при серверных ошибках.

3
retry_on_statuses tuple[int, ...]

HTTP-статусы для retry.

DEFAULT_RETRY_STATUSES
retry_backoff_factor float

Множитель задержки.

1.0
**kwargs Any

Дополнительные параметры.

{}
Source code in maxapi/client/default.py
def __init__(
    self,
    timeout: float = 5 * 30,
    sock_connect: int = 30,
    *,
    max_retries: int = 3,
    retry_on_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_backoff_factor: float = 1.0,
    **kwargs: Any,
):
    """
    Инициализация параметров соединения.

    Args:
        timeout (float): Таймаут всего соединения в секундах.
        sock_connect (int): Таймаут установки TCP-соединения
            в секундах.
        max_retries (int): Максимальное количество повторных
            попыток при серверных ошибках.
        retry_on_statuses (tuple[int, ...]): HTTP-статусы
            для retry.
        retry_backoff_factor (float): Множитель задержки.
        **kwargs (Any): Дополнительные параметры.
    """
    self.timeout = ClientTimeout(total=timeout, sock_connect=sock_connect)
    if max_retries < 0:
        raise ValueError("max_retries должен быть >= 0")
    self.max_retries = max_retries
    self.retry_on_statuses = retry_on_statuses
    self.retry_backoff_factor = retry_backoff_factor
    self.kwargs = kwargs