Aracılığıyla paylaş


ConnectionRetryPolicy Sınıf

Devralma
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Oluşturucu

ConnectionRetryPolicy(**kwargs)

Yöntemler

configure_retries

Yeniden deneme ayarlarını yapılandırılır.

get_backoff_time

Geçerli geri alma süresini döndürür.

get_retry_after

saniye olarak Retry-After değerini alır.

increment

Yeniden deneme sayaçlarını artırma.

is_exhausted

Kalan yeniden deneme olup olmadığını denetler.

is_retry

Yöntem/durum kodunun yeniden denenip denenmediğini denetler.

İzin verilenler listesine ve izin verilen toplam yeniden deneme sayısı, Retry-After üst bilgisine uyulup uyulmayacağı, bu üst bilginin mevcut olup olmadığı ve döndürülen durum kodunun yukarıda belirtilen üst bilginin varlığında yeniden denenecek durum kodları listesinde olup olmadığı gibi denetim değişkenlerine bağlıdır.

Davranış şu şekildedir:

  •   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

Yeniden denemeleri devre dışı bırakın.

parse_retry_after

Retry-After ayrıştırmak ve saniyeler içinde değer almak için yardımcı.

send

PipelineRequest nesnesini bir sonraki ilkeye gönderir. Gerekirse yeniden deneme ayarlarını kullanır. Ayrıca, birden çok yeniden deneme girişimine yayılan mutlak bir istemci tarafı zaman aşımı uygular.

sleep

Yeniden deneme girişimleri arasında uyku moduna geçin.

Bu yöntem sunucunun yanıt üst bilgisine Retry-After dikkat eder ve istenen süre boyunca uyku moduna girer. Bu yoksa üstel geri alma kullanır. Varsayılan olarak geri alma faktörü 0'dır ve bu yöntem hemen döndürülecektir.

update_context

İşlem hattı bağlamında yeniden deneme geçmişini Güncelleştirmeler.

configure_retries

Yeniden deneme ayarlarını yapılandırılır.

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

Parametreler

Name Description
options
Gerekli

bağlamdan anahtar sözcük bağımsız değişkenleri.

Döndürülenler

Tür Description

Yeniden denemeler için ayarları ve geçmişi içeren bir dikte.

get_backoff_time

Geçerli geri alma süresini döndürür.

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

Parametreler

Name Description
settings
Gerekli

Yeniden deneme ayarları.

Döndürülenler

Tür Description

Geçerli geri alma değeri.

get_retry_after

saniye olarak Retry-After değerini alır.

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

Parametreler

Name Description
response
Gerekli

PipelineResponse nesnesi

Döndürülenler

Tür Description

saniye olarak Retry-After değeri.

increment

Yeniden deneme sayaçlarını artırma.

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

Parametreler

Name Description
settings
Gerekli

Yeniden deneme ayarları.

response

İşlem hattı yanıt nesnesi.

varsayılan değer: None
error

İstek sırasında bir hatayla karşılaşıldı veya yanıt başarıyla alındıysa Yok.

varsayılan değer: None

Döndürülenler

Tür Description

Daha fazla yeniden deneme girişimi varsa herhangi bir yeniden deneme girişiminin kullanılabilir olup olmadığı True, aksi takdirde Yanlış

is_exhausted

Kalan yeniden deneme olup olmadığını denetler.

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

Parametreler

Name Description
settings
Gerekli

yeniden deneme ayarları

Döndürülenler

Tür Description

Daha fazla yeniden deneme varsa false. Yeniden denemeler tükenirse true.

is_retry

Yöntem/durum kodunun yeniden denenip denenmediğini denetler.

İzin verilenler listesine ve izin verilen toplam yeniden deneme sayısı, Retry-After üst bilgisine uyulup uyulmayacağı, bu üst bilginin mevcut olup olmadığı ve döndürülen durum kodunun yukarıda belirtilen üst bilginin varlığında yeniden denenecek durum kodları listesinde olup olmadığı gibi denetim değişkenlerine bağlıdır.

Davranış şu şekildedir:

  •   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

Parametreler

Name Description
settings
Gerekli

Yeniden deneme ayarları.

response
Gerekli

PipelineResponse nesnesi

Döndürülenler

Tür Description

Yöntem/durum kodu yeniden denenebilirse true. Yeniden denenemiyorsa false.

no_retries

Yeniden denemeleri devre dışı bırakın.

no_retries() -> ClsRetryPolicy

Döndürülenler

Tür Description

Yeniden denemeler devre dışı bırakılmış bir yeniden deneme ilkesi.

parse_retry_after

Retry-After ayrıştırmak ve saniyeler içinde değer almak için yardımcı.

parse_retry_after(retry_after: str) -> float

Parametreler

Name Description
retry_after
Gerekli
str

Retry-After üst bilgisi

Döndürülenler

Tür Description

saniye olarak Retry-After değeri.

send

PipelineRequest nesnesini bir sonraki ilkeye gönderir. Gerekirse yeniden deneme ayarlarını kullanır. Ayrıca, birden çok yeniden deneme girişimine yayılan mutlak bir istemci tarafı zaman aşımı uygular.

send(request)

Parametreler

Name Description
request
Gerekli

PipelineRequest nesnesi

Döndürülenler

Tür Description

PipelineResponse döndürür veya yeniden deneme sayısı üst sınırı aşılırsa hata verir.

Özel durumlar

Tür Description

Yeniden deneme sayısı üst sınırı aşıldı.

Belirtilen zaman aşımı aşıldı.

Kimlik doğrulaması gerçekleştirilemedi.

sleep

Yeniden deneme girişimleri arasında uyku moduna geçin.

Bu yöntem sunucunun yanıt üst bilgisine Retry-After dikkat eder ve istenen süre boyunca uyku moduna girer. Bu yoksa üstel geri alma kullanır. Varsayılan olarak geri alma faktörü 0'dır ve bu yöntem hemen döndürülecektir.

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

Parametreler

Name Description
settings
Gerekli

Yeniden deneme ayarları.

transport
Gerekli

HTTP aktarım türü.

response

PipelineResponse nesnesi.

varsayılan değer: None

update_context

İşlem hattı bağlamında yeniden deneme geçmişini Güncelleştirmeler.

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

Parametreler

Name Description
context
Gerekli

İşlem hattı bağlamı.

retry_settings
Gerekli

Yeniden deneme ayarları.

Öznitelikler

BACKOFF_MAX

Maksimum geri çekilme süresi.

BACKOFF_MAX = 120

next

Sonraki ilke veya aktarım işaretçisi (ilke olarak sarmalanmış). İşlem hattı oluşturma sırasında ayarlanır.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]