hyb
2025-12-31 6cdcd01f77e11b72c323603e27ebdb85b15223c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Ë
 
çúhãóº—ddlmZmZddlmZddlmZddlZdZGd„de«Z    Gd„d    e«Z
Gd
„d e
«Z Gd „d ej«Z Gd„de «Zy)é)ÚABCÚabstractmethod)ÚEnum)ÚCallableNé<có—eZdZdZdZdZy)ÚStateÚclosedÚopenz    half-openN)Ú__name__Ú
__module__Ú __qualname__ÚCLOSEDÚOPENÚ    HALF_OPEN©óõhH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\redis/multidb/circuit.pyr    r    
s„Ø €FØ €D؁Irr    có"—eZdZeedefd„««Zejedefd„««Zeedefd„««Z    e    jedefd„««Z    eed„««Z
e
jed    „««Z
ed
e deegd ffd „«Z y ) ÚCircuitBreakerÚreturncó—y)z@The grace period in seconds when the circle should be kept open.Nr©Úselfs rÚ grace_periodzCircuitBreaker.grace_periodó€ð     rrcó—y)z Set the grace period in seconds.Nr©rrs  rrzCircuitBreaker.grace_periodsrcó—y)z!The current state of the circuit.Nrrs rÚstatezCircuitBreaker.staterrr có—y)z!Set current state of the circuit.Nr©rr s  rr zCircuitBreaker.state"rrcó—y)z&Database associated with this circuit.Nrrs rÚdatabasezCircuitBreaker.database(rrcó—y)z*Set database associated with this circuit.Nr©rr$s  rr$zCircuitBreaker.database.rrÚcbNcó—y©z6Callback called when the state of the circuit changes.Nr©rr's  rÚon_state_changedzCircuitBreaker.on_state_changed4ó€ð     r) r r rÚpropertyrÚfloatrÚsetterr    r r$rr+rrrrrsÿ„Ø Øð ˜eò óóð ð×ÑØð/¨ò/óóð/ðØð uò óóð ð ‡\\Øð ˜5ò óóð ðØñ óóð ð‡__Øñ óóð ðð  8Ð-=¸uÀeÐ,LÈdÐ,RÑ#Sò óñ rrcó
—eZdZdZdej
fd„Zedefd„«Z    e    jdefd„«Z    ede fd„«Z e jd    e fd
„«Z ed „«Z e jd „«Z eded e e gdffd„«Zy)ÚBaseCircuitBreakerz;
    Base implementation of Circuit Breaker interface.
    r'có—||_tj|jjtj|jj
tj |jji|_d|_    y©N)
Ú_cbr    rÚcloserr rÚ    half_openÚ_state_pb_mapperÚ    _databaser*s  rÚ__init__zBaseCircuitBreaker.__init__?sQ€ØˆŒä L‰L˜$Ÿ(™(Ÿ.™.Ü J‰J˜Ÿ™Ÿ ™ Ü O‰O˜TŸX™X×/Ñ/ð!
ˆÔð
ˆrrcó.—|jjSr3©r4Ú reset_timeoutrs rrzBaseCircuitBreaker.grace_periodHs€àx‰x×%Ñ%Ð%rrcó&—||j_yr3r;rs  rrzBaseCircuitBreaker.grace_periodLs€à!-ˆ‰ÕrcóV—t|jjj¬«S©N)Úvalue)r    r4r Únamers rr zBaseCircuitBreaker.statePs€ä˜4Ÿ8™8Ÿ>™>×.Ñ.Ô/Ð/rr có,—|j|«yr3)r7r"s  rr zBaseCircuitBreaker.stateTs€à$ˆ×јeÑ$Õ&rcó—|jSr3©r8rs rr$zBaseCircuitBreaker.databaseXs €à~‰~Ðrcó—||_yr3rDr&s  rr$zBaseCircuitBreaker.database\s    €à!ˆrrNcó—yr)rr*s  rr+z#BaseCircuitBreaker.on_state_changed`r,r)r r rÚ__doc__Ú    pybreakerrr9r-r.rr/r    r r$rrr+rrrr1r1:sè„ñð˜9×3Ñ3óðð&˜eò&óð&ð×Ñð.¨ò.óð.ðð0uò0óð0ð ‡\\ð'˜5ò'óð'ðñóðð‡__ñ"óð"ðð  8Ð-=¸uÀeÐ,LÈdÐ,RÑ#Sò óñ rr1có2—eZdZdZdeeeegdffd„Zd„Zy)Ú
PBListenerzDWrapper for callback to be compatible with pybreaker implementation.r'Ncó —||_||_y)zî
        Initialize a PBListener instance.
 
        Args:
            cb: Callback function that will be called when the circuit breaker state changes.
            database: Database instance associated with this circuit breaker.
        N)r4r8)rr'r$s   rr9zPBListener.__init__is€ðˆŒØ!ˆrcóº—t|«}|j|_t|j¬«}t|j¬«}|j |||«yr?)ÚPBCircuitBreakerAdapterr8r$r    rAr4)rr'Ú    old_stateÚ    new_states    rÚ state_changezPBListener.state_changeysC€Ü $ RÓ (ˆØ—n‘nˆŒ Ü     §¡Ô/ˆ    Ü     §¡Ô/ˆ    Ø ‰Y     Õ*r)    r r rrGrrr    r9rPrrrrJrJfs(„ÙNð"à n e¨UÐ3°TÐ9Ñ :ó"ó +rrJcóT‡—eZdZdejfˆfd„ Zdedeegdffd„ZˆxZ    S)rMr'có$•—t‰||«y)a
        Initialize a PBCircuitBreakerAdapter instance.
 
        This adapter wraps pybreaker's CircuitBreaker implementation to make it compatible
        with our CircuitBreaker interface.
 
        Args:
            cb: A pybreaker CircuitBreaker instance to be adapted.
        N)Úsuperr9)rr'Ú    __class__s  €rr9z PBCircuitBreakerAdapter.__init__‚sø€ô    ‰Ñ˜ÕrrNcóf—t||j«}|jj|«yr3)rJr$r4Ú add_listener)rr'Úlisteners   rr+z(PBCircuitBreakerAdapter.on_state_changedŽs$€Ü˜b $§-¡-Ó0ˆØ ‰×јhÕ'r)
r r rrHrr9rr    r+Ú __classcell__)rTs@rrMrMs3ø„ð
˜9×3Ñ3õ
ð( 8Ð-=¸uÀeÐ,LÈdÐ,RÑ#S÷(rrM)ÚabcrrÚenumrÚtypingrrHÚDEFAULT_GRACE_PERIODr    rr1ÚCircuitBreakerListenerrJrMrrrú<module>r^s\ðß#ÝÝãàÐôˆDôô ' Sô' ôT) ˜ô) ôX+×1Ñ1ô+ô6(Ð0õ(r