Sdílet prostřednictvím


ConnectionRetryPolicy Třída

Dědičnost
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Konstruktor

ConnectionRetryPolicy(**kwargs)

Metody

configure_retries

Nakonfiguruje nastavení opakování.

get_backoff_time

Vrátí aktuální čas zásady.

get_retry_after

Získá hodnotu Retry-After v sekundách.

increment

Zvyšte čítače opakování.

is_exhausted

Zkontroluje, jestli nezůstalo nějaké opakování.

is_retry

Zkontroluje, jestli je metoda nebo stavový kód opakovatelný.

Na základě seznamu povolených a řídicích proměnných, jako je počet povolených pokusů celkem, zda se má respektovat hlavička Retry-After, zda je tato hlavička přítomna a zda je vrácený stavový kód v seznamu stavových kódů, který se má opakovat při přítomnosti výše uvedené hlavičky.

Chování je následující:

  •   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

Zakažte opakování.

parse_retry_after

Pomocná rutina k analýze Retry-After a získání hodnoty v sekundách.

send

Odešle objekt PipelineRequest do další zásady. V případě potřeby použije nastavení opakování. Vynucuje také absolutní časový limit na straně klienta, který zahrnuje několik opakovaných pokusů.

sleep

Režim spánku mezi opakovanými pokusy

Tato metoda bude respektovat hlavičku odpovědi serveru Retry-After a dobu trvání požadovaného času v režimu spánku. Pokud není k dispozici, použije se exponenciální zpoždění. Ve výchozím nastavení je faktor zásady 0 a tato metoda se vrátí okamžitě.

update_context

Aktualizace historii opakování v kontextu kanálu.

configure_retries

Nakonfiguruje nastavení opakování.

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

Parametry

Name Description
options
Vyžadováno

argumenty klíčových slov z kontextu.

Návraty

Typ Description

Dict obsahující nastavení a historii opakování.

get_backoff_time

Vrátí aktuální čas zásady.

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

Parametry

Name Description
settings
Vyžadováno

Nastavení opakování.

Návraty

Typ Description

Aktuální hodnota zásady.

get_retry_after

Získá hodnotu Retry-After v sekundách.

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

Parametry

Name Description
response
Vyžadováno

Objekt PipelineResponse

Návraty

Typ Description

Hodnota Retry-After v sekundách.

increment

Zvyšte čítače opakování.

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

Parametry

Name Description
settings
Vyžadováno

Nastavení opakování.

response

Objekt odpovědi kanálu.

výchozí hodnota: None
error

Během požadavku došlo k chybě, nebo žádná, pokud byla odpověď úspěšně přijata.

výchozí hodnota: None

Návraty

Typ Description

Jestli je k dispozici některý pokus o opakování: Pravda, pokud je k dispozici více pokusů o opakování, jinak false.

is_exhausted

Zkontroluje, jestli nezůstalo nějaké opakování.

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

Parametry

Name Description
settings
Vyžadováno

nastavení opakování

Návraty

Typ Description

False, pokud máte více opakování. True, pokud se pokusy o opakování vyčerpaly.

is_retry

Zkontroluje, jestli je metoda nebo stavový kód opakovatelný.

Na základě seznamu povolených a řídicích proměnných, jako je počet povolených pokusů celkem, zda se má respektovat hlavička Retry-After, zda je tato hlavička přítomna a zda je vrácený stavový kód v seznamu stavových kódů, který se má opakovat při přítomnosti výše uvedené hlavičky.

Chování je následující:

  •   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

Parametry

Name Description
settings
Vyžadováno

Nastavení opakování.

response
Vyžadováno

Objekt PipelineResponse

Návraty

Typ Description

Hodnota True, pokud je metoda nebo stavový kód opakovatelný. Hodnota False, pokud není možné opakovat.

no_retries

Zakažte opakování.

no_retries() -> ClsRetryPolicy

Návraty

Typ Description

Zásady opakování se zakázanými opakováními

parse_retry_after

Pomocná rutina k analýze Retry-After a získání hodnoty v sekundách.

parse_retry_after(retry_after: str) -> float

Parametry

Name Description
retry_after
Vyžadováno
str

záhlaví Retry-After

Návraty

Typ Description

Hodnota Retry-After v sekundách.

send

Odešle objekt PipelineRequest do další zásady. V případě potřeby použije nastavení opakování. Vynucuje také absolutní časový limit na straně klienta, který zahrnuje několik opakovaných pokusů.

send(request)

Parametry

Name Description
request
Vyžadováno

Objekt PipelineRequest

Návraty

Typ Description

Pokud dojde k překročení maximálního počtu opakování, vrátí chybu PipelineResponse nebo vyvolá chybu .

Výjimky

Typ Description

Byl překročen maximální počet opakování.

Byl překročen zadaný časový limit.

Ověření se nezdařilo.

sleep

Režim spánku mezi opakovanými pokusy

Tato metoda bude respektovat hlavičku odpovědi serveru Retry-After a dobu trvání požadovaného času v režimu spánku. Pokud není k dispozici, použije se exponenciální zpoždění. Ve výchozím nastavení je faktor zásady 0 a tato metoda se vrátí okamžitě.

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

Parametry

Name Description
settings
Vyžadováno

Nastavení opakování.

transport
Vyžadováno

Typ přenosu HTTP.

response

Objekt PipelineResponse.

výchozí hodnota: None

update_context

Aktualizace historii opakování v kontextu kanálu.

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

Parametry

Name Description
context
Vyžadováno

Kontext kanálu.

retry_settings
Vyžadováno

Nastavení opakování.

Atributy

BACKOFF_MAX

Maximální doba zásady.

BACKOFF_MAX = 120

next

Ukazatel na další zásadu nebo přenos (zabalený jako zásada) Nastaví se při vytváření kanálu.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]