ConnectionRetryPolicy Класс

Наследование
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Конструктор

ConnectionRetryPolicy(**kwargs)

Методы

configure_retries

Настраивает параметры повтора.

get_backoff_time

Возвращает текущее время задержки.

get_retry_after

Возвращает значение Retry-After в секундах.

increment

Увеличение счетчиков повторных попыток.

is_exhausted

Проверяет, не осталось ли повторных попыток.

is_retry

Проверяет, допускается ли повторная попытка кода метода или состояния.

На основе списков разрешений и переменных управления, таких как общее количество повторных попыток, необходимо ли учитывать заголовок Retry-After, присутствует ли этот заголовок и находится ли возвращенный код состояния в списке кодов состояния, которые необходимо повторить при наличии указанного выше заголовка.

Поведение:

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
no_retries

Отключите повторные попытки.

parse_retry_after

Вспомогательный метод для анализа Retry-After и получения значения в секундах.

send

Отправляет объект PipelineRequest в следующую политику. При необходимости использует параметры повтора. Кроме того, применяет абсолютное время ожидания на стороне клиента, которое охватывает несколько повторных попыток.

sleep

Спящий режим между повторными попытками.

Этот метод учитывает заголовок ответа сервера Retry-After и спящий режим в течение запрошенного времени. Если этого нет, будет использоваться экспоненциальная задержка. По умолчанию коэффициент отката равен 0, и этот метод возвращает немедленно.

update_context

Обновления журнал повторных попыток в контексте конвейера.

configure_retries

Настраивает параметры повтора.

configure_retries(options: Dict[str, Any]) -> Dict[str, Any]

Параметры

Имя Описание
options
Обязательно

ключевое слово аргументы из контекста.

Возвращаемое значение

Тип Описание

Дикт, содержащий параметры и журнал для повторных попыток.

get_backoff_time

Возвращает текущее время задержки.

get_backoff_time(settings: Dict[str, Any]) -> float

Параметры

Имя Описание
settings
Обязательно

Параметры повтора.

Возвращаемое значение

Тип Описание

Текущее значение задержки.

get_retry_after

Возвращает значение Retry-After в секундах.

get_retry_after(response: PipelineResponse[Any, AllHttpResponseType]) -> float | None

Параметры

Имя Описание
response
Обязательно

Объект PipelineResponse

Возвращаемое значение

Тип Описание

Значение Retry-After в секундах.

increment

Увеличение счетчиков повторных попыток.

increment(settings: Dict[str, Any], response: PipelineRequest[HTTPRequestType] | PipelineResponse[HTTPRequestType, AllHttpResponseType] | None = None, error: Exception | None = None) -> bool

Параметры

Имя Описание
settings
Обязательно

Параметры повтора.

response

Объект ответа конвейера.

значение по умолчанию: None
error

Ошибка, обнаруженная во время запроса, или Нет, если ответ был успешно получен.

значение по умолчанию: None

Возвращаемое значение

Тип Описание

Доступна ли какая-либо попытка повтора. Значение True, если доступно больше повторных попыток, в противном случае — false.

is_exhausted

Проверяет, не осталось ли повторных попыток.

is_exhausted(settings: Dict[str, Any]) -> bool

Параметры

Имя Описание
settings
Обязательно

параметры повтора

Возвращаемое значение

Тип Описание

False, если у вас больше повторных попыток. Значение true, если повторные попытки исчерпаны.

is_retry

Проверяет, допускается ли повторная попытка кода метода или состояния.

На основе списков разрешений и переменных управления, таких как общее количество повторных попыток, необходимо ли учитывать заголовок Retry-After, присутствует ли этот заголовок и находится ли возвращенный код состояния в списке кодов состояния, которые необходимо повторить при наличии указанного выше заголовка.

Поведение:

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
is_retry(settings: Dict[str, Any], response: PipelineResponse[HTTPRequestType, AllHttpResponseType]) -> bool

Параметры

Имя Описание
settings
Обязательно

Параметры повтора.

response
Обязательно

Объект PipelineResponse

Возвращаемое значение

Тип Описание

Значение true, если метод или код состояния можно повторить. False, если не допускается повторная попытка.

no_retries

Отключите повторные попытки.

no_retries() -> ClsRetryPolicy

Возвращаемое значение

Тип Описание

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

parse_retry_after

Вспомогательный метод для анализа Retry-After и получения значения в секундах.

parse_retry_after(retry_after: str) -> float

Параметры

Имя Описание
retry_after
Обязательно
str

заголовок Retry-After

Возвращаемое значение

Тип Описание

Значение Retry-After в секундах.

send

Отправляет объект PipelineRequest в следующую политику. При необходимости использует параметры повтора. Кроме того, применяет абсолютное время ожидания на стороне клиента, которое охватывает несколько повторных попыток.

send(request)

Параметры

Имя Описание
request
Обязательно

Объект PipelineRequest

Возвращаемое значение

Тип Описание

Возвращает pipelineResponse или вызывает ошибку, если превышено максимальное количество повторных попыток.

Исключения

Тип Описание

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

Превышено указанное время ожидания.

Ошибка проверки подлинности.

sleep

Спящий режим между повторными попытками.

Этот метод учитывает заголовок ответа сервера Retry-After и спящий режим в течение запрошенного времени. Если этого нет, будет использоваться экспоненциальная задержка. По умолчанию коэффициент отката равен 0, и этот метод возвращает немедленно.

sleep(settings: Dict[str, Any], transport: HttpTransport[HTTPRequestType, HTTPResponseType], response: PipelineResponse[HTTPRequestType, HTTPResponseType] | None = None) -> None

Параметры

Имя Описание
settings
Обязательно

Параметры повтора.

transport
Обязательно

Тип транспорта HTTP.

response

Объект PipelineResponse.

значение по умолчанию: None

update_context

Обновления журнал повторных попыток в контексте конвейера.

update_context(context: PipelineContext, retry_settings: Dict[str, Any]) -> None

Параметры

Имя Описание
context
Обязательно

Контекст конвейера.

retry_settings
Обязательно

Параметры повтора.

Атрибуты

BACKOFF_MAX

Максимальное время отката.

BACKOFF_MAX = 120

next

Указатель на следующую политику или транспорт (в виде политики). Будет задано при создании конвейера.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]