ConnectionRetryPolicy Class
- Inheritance
-
azure.core.pipeline.policies._retry.RetryPolicyConnectionRetryPolicy
Constructor
ConnectionRetryPolicy(**kwargs)
Methods
configure_retries |
Configures the retry settings. |
get_backoff_time |
Returns the current backoff time. |
get_retry_after |
Get the value of Retry-After in seconds. |
increment |
Increment the retry counters. |
is_exhausted |
Checks if any retries left. |
is_retry |
Checks if method/status code is retryable. Based on allowlists and control variables such as the number of total retries to allow, whether to respect the Retry-After header, whether this header is present, and whether the returned status code is on the list of status codes to be retried upon on the presence of the aforementioned header. The behavior is:
|
no_retries |
Disable retries. |
parse_retry_after |
Helper to parse Retry-After and get value in seconds. |
send |
Sends the PipelineRequest object to the next policy. Uses retry settings if necessary. Also enforces an absolute client-side timeout that spans multiple retry attempts. |
sleep |
Sleep between retry attempts. This method will respect a server's |
update_context |
Updates retry history in pipeline context. |
configure_retries
Configures the retry settings.
configure_retries(options: Dict[str, Any]) -> Dict[str, Any]
Parameters
Name | Description |
---|---|
options
Required
|
keyword arguments from context. |
Returns
Type | Description |
---|---|
A dict containing settings and history for retries. |
get_backoff_time
Returns the current backoff time.
get_backoff_time(settings: Dict[str, Any]) -> float
Parameters
Name | Description |
---|---|
settings
Required
|
The retry settings. |
Returns
Type | Description |
---|---|
The current backoff value. |
get_retry_after
Get the value of Retry-After in seconds.
get_retry_after(response: PipelineResponse[Any, AllHttpResponseType]) -> float | None
Parameters
Name | Description |
---|---|
response
Required
|
The PipelineResponse object |
Returns
Type | Description |
---|---|
Value of Retry-After in seconds. |
increment
Increment the retry counters.
increment(settings: Dict[str, Any], response: PipelineRequest[HTTPRequestType] | PipelineResponse[HTTPRequestType, AllHttpResponseType] | None = None, error: Exception | None = None) -> bool
Parameters
Name | Description |
---|---|
settings
Required
|
The retry settings. |
response
|
A pipeline response object. Default value: None
|
error
|
An error encountered during the request, or None if the response was received successfully. Default value: None
|
Returns
Type | Description |
---|---|
Whether any retry attempt is available True if more retry attempts available, False otherwise |
is_exhausted
Checks if any retries left.
is_exhausted(settings: Dict[str, Any]) -> bool
Parameters
Name | Description |
---|---|
settings
Required
|
the retry settings |
Returns
Type | Description |
---|---|
False if have more retries. True if retries exhausted. |
is_retry
Checks if method/status code is retryable.
Based on allowlists and control variables such as the number of total retries to allow, whether to respect the Retry-After header, whether this header is present, and whether the returned status code is on the list of status codes to be retried upon on the presence of the aforementioned header.
The behavior is:
-
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
Parameters
Name | Description |
---|---|
settings
Required
|
The retry settings. |
response
Required
|
The PipelineResponse object |
Returns
Type | Description |
---|---|
True if method/status code is retryable. False if not retryable. |
no_retries
Disable retries.
no_retries() -> ClsRetryPolicy
Returns
Type | Description |
---|---|
A retry policy with retries disabled. |
parse_retry_after
Helper to parse Retry-After and get value in seconds.
parse_retry_after(retry_after: str) -> float
Parameters
Name | Description |
---|---|
retry_after
Required
|
Retry-After header |
Returns
Type | Description |
---|---|
Value of Retry-After in seconds. |
send
Sends the PipelineRequest object to the next policy. Uses retry settings if necessary. Also enforces an absolute client-side timeout that spans multiple retry attempts.
send(request)
Parameters
Name | Description |
---|---|
request
Required
|
The PipelineRequest object |
Returns
Type | Description |
---|---|
Returns the PipelineResponse or raises error if maximum retries exceeded. |
Exceptions
Type | Description |
---|---|
Maximum retries exceeded. |
|
Specified timeout exceeded. |
|
Authentication failed. |
sleep
Sleep between retry attempts.
This method will respect a server's Retry-After
response header
and sleep the duration of the time requested. If that is not present, it
will use an exponential backoff. By default, the backoff factor is 0 and
this method will return immediately.
sleep(settings: Dict[str, Any], transport: HttpTransport[HTTPRequestType, HTTPResponseType], response: PipelineResponse[HTTPRequestType, HTTPResponseType] | None = None) -> None
Parameters
Name | Description |
---|---|
settings
Required
|
The retry settings. |
transport
Required
|
The HTTP transport type. |
response
|
The PipelineResponse object. Default value: None
|
update_context
Updates retry history in pipeline context.
update_context(context: PipelineContext, retry_settings: Dict[str, Any]) -> None
Parameters
Name | Description |
---|---|
context
Required
|
The pipeline context. |
retry_settings
Required
|
The retry settings. |
Attributes
BACKOFF_MAX
Maximum backoff time.
BACKOFF_MAX = 120
next
Pointer to the next policy or a transport (wrapped as a policy). Will be set at pipeline creation.
next: HTTPPolicy[HTTPRequestType, HTTPResponseType]
Azure SDK for Python