Partager via


ConnectionRetryPolicy Classe

Héritage
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Constructeur

ConnectionRetryPolicy(**kwargs)

Méthodes

configure_retries

Configure les paramètres de nouvelle tentative.

get_backoff_time

Retourne l’heure d’backoff actuelle.

get_retry_after

Obtenez la valeur de Retry-After en secondes.

increment

Incrémentez les compteurs de nouvelles tentatives.

is_exhausted

Vérifie s’il reste des nouvelles tentatives.

is_retry

Vérifie si le code de méthode/status est retenable.

En fonction des listes d’autorisation et des variables de contrôle telles que le nombre total de nouvelles tentatives à autoriser, s’il faut respecter l’en-tête Retry-After, si cet en-tête est présent et si le code status retourné figure dans la liste des codes status à retenter en cas de présence de l’en-tête ci-dessus.

Le comportement est le suivant :

  •   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

Désactivez les nouvelles tentatives.

parse_retry_after

Assistance pour analyser Retry-After et obtenir la valeur en quelques secondes.

send

Envoie l’objet PipelineRequest à la stratégie suivante. Utilise les paramètres de nouvelle tentative si nécessaire. Applique également un délai d’attente absolu côté client qui s’étend sur plusieurs tentatives de nouvelle tentative.

sleep

Veillez entre les tentatives de nouvelle tentative.

Cette méthode respecte l’en-tête de réponse d’un Retry-After serveur et met en veille la durée du temps demandé. S’il n’est pas présent, il utilise un backoff exponentiel. Par défaut, le facteur d’backoff est 0 et cette méthode retourne immédiatement.

update_context

Mises à jour l’historique des nouvelles tentatives dans le contexte du pipeline.

configure_retries

Configure les paramètres de nouvelle tentative.

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

Paramètres

Nom Description
options
Obligatoire

mot clé arguments du contexte.

Retours

Type Description

dict contenant les paramètres et l’historique des nouvelles tentatives.

get_backoff_time

Retourne l’heure d’backoff actuelle.

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

Paramètres

Nom Description
settings
Obligatoire

Paramètres de nouvelle tentative.

Retours

Type Description

Valeur de backoff actuelle.

get_retry_after

Obtenez la valeur de Retry-After en secondes.

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

Paramètres

Nom Description
response
Obligatoire

Objet PipelineResponse

Retours

Type Description

Valeur de Retry-After en secondes.

increment

Incrémentez les compteurs de nouvelles tentatives.

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

Paramètres

Nom Description
settings
Obligatoire

Paramètres de nouvelle tentative.

response

Objet de réponse de pipeline.

valeur par défaut: None
error

Erreur rencontrée lors de la demande ou Aucune si la réponse a été reçue avec succès.

valeur par défaut: None

Retours

Type Description

Indique si une nouvelle tentative est disponible true si d’autres tentatives de nouvelles tentatives sont disponibles, False sinon

is_exhausted

Vérifie s’il reste des nouvelles tentatives.

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

Paramètres

Nom Description
settings
Obligatoire

les paramètres de nouvelle tentative

Retours

Type Description

False si vous avez plus de nouvelles tentatives. True si les nouvelles tentatives ont été épuisées.

is_retry

Vérifie si le code de méthode/status est retenable.

En fonction des listes d’autorisation et des variables de contrôle telles que le nombre total de nouvelles tentatives à autoriser, s’il faut respecter l’en-tête Retry-After, si cet en-tête est présent et si le code status retourné figure dans la liste des codes status à retenter en cas de présence de l’en-tête ci-dessus.

Le comportement est le suivant :

  •   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

Paramètres

Nom Description
settings
Obligatoire

Paramètres de nouvelle tentative.

response
Obligatoire

Objet PipelineResponse

Retours

Type Description

True si la méthode/status code est retenable. False s’il n’est pas retenable.

no_retries

Désactivez les nouvelles tentatives.

no_retries() -> ClsRetryPolicy

Retours

Type Description

Stratégie de nouvelle tentative avec les nouvelles tentatives désactivées.

parse_retry_after

Assistance pour analyser Retry-After et obtenir la valeur en quelques secondes.

parse_retry_after(retry_after: str) -> float

Paramètres

Nom Description
retry_after
Obligatoire
str

en-tête Retry-After

Retours

Type Description

Valeur de Retry-After en secondes.

send

Envoie l’objet PipelineRequest à la stratégie suivante. Utilise les paramètres de nouvelle tentative si nécessaire. Applique également un délai d’attente absolu côté client qui s’étend sur plusieurs tentatives de nouvelle tentative.

send(request)

Paramètres

Nom Description
request
Obligatoire

Objet PipelineRequest

Retours

Type Description

Retourne le pipelineResponse ou génère l’erreur si le nombre maximal de nouvelles tentatives est dépassé.

Exceptions

Type Description

Nombre maximal de nouvelles tentatives dépassées.

Dépassement du délai d’attente spécifié.

Échec de l'authentification.

sleep

Veillez entre les tentatives de nouvelle tentative.

Cette méthode respecte l’en-tête de réponse d’un Retry-After serveur et met en veille la durée du temps demandé. S’il n’est pas présent, il utilise un backoff exponentiel. Par défaut, le facteur d’backoff est 0 et cette méthode retourne immédiatement.

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

Paramètres

Nom Description
settings
Obligatoire

Paramètres de nouvelle tentative.

transport
Obligatoire

Type de transport HTTP.

response

Objet PipelineResponse.

valeur par défaut: None

update_context

Mises à jour l’historique des nouvelles tentatives dans le contexte du pipeline.

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

Paramètres

Nom Description
context
Obligatoire

Contexte du pipeline.

retry_settings
Obligatoire

Paramètres de nouvelle tentative.

Attributs

BACKOFF_MAX

Durée maximale des backoffs.

BACKOFF_MAX = 120

next

Pointeur vers la stratégie ou un transport suivant (encapsulé sous forme de stratégie). Sera défini lors de la création du pipeline.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]