피처

회로 차단기 패턴의 파이썬 구현
지금 다운로드

피처 순위 및 요약

광고

  • Rating:
  • 특허:
  • BSD License
  • 게시자 이름:
  • Daniel Fernandes Martins
  • 게시자 웹사이트:

피처 태그


피처 설명

회로 차단기 패턴의 파이썬 구현 피커는 Michael T. Nygard의 책을 릴리스하여 설명한 회로 차단기 패턴의 파이썬 구현입니다. Nygard의 단어는 전체 시스템을 파괴하지 않고 하나의 하위 시스템을 실패 할 수 있도록 회로 차단기가 있습니다. 이것은 위험한 작업을 포장하여 수행됩니다 ( 일반적으로 통합 포인트) 시스템이 건강하지 않을 때 호출을 우회 할 수있는 구성 요소가 있습니다. ".installationRun Pypi : Easy_install -u pirebreakerif에서 최신 안정적인 버전의 피처를 다운로드 할 수있는 다음 명령 줄은 Git 사용자입니다, 다운로드 할 수 있습니다. 현재 개발 버전 : //github.com/danielfm/pybreaker.git cd pirebreaker python setup.py test python setup.py installUsageThe 첫 번째 단계는 각 통합 포인트에 대한 회로의 인스턴스를 만드는 것입니다. pirebreakerdb_breaker = pirebreaker .Circuitbreaker () 코드를 포함하는 코드를 유지하면서 더 나은 사용자 정의를 허용하려면 각 종류의 IntegraTi에 대한 회로 부위의 하위 클래스를 만드는 것이 좋습니다. PIRBEAKERCLASS DBCIRCUITERWRACHER (PIRBEAKER.CIRCUITERBERWER) : DEF ON_STATE_CHANGE (self, old_state, new_state) : "회로 차단기 상태가 변경 될 때 호출"됩니다. pass def on_failure (self, exc) : "함수 호출이 시스템 오류를 발생시킬 때 호출됩니다." Pass def on_success (self) : "함수 호출이 성공할 때 호출됩니다." passdb_breaker = dbcircuitbreaker () 이러한 객체는 응용 프로그램 Scope에서 전역 적으로 살아야합니다 .Note : 외부 서비스 (즉, 데이터베이스, 대기열 등)에 대한 통합 지점이 실패 할 가능성이 큽니다. API Level.let에서 고객 데이터베이스 테이블에서 행을 업데이트하는 함수의 회로 차단기를 사용하려고합니다. @db_breakerdef update_customer (Cust) : # The StoeD ... Pass # 회로 BreakerUpdated_customer = update_customer를 트리거합니다. (my_customer) 또는 decorator 구문을 사용하지 않으려면 : DEF update_customer (cust) : # pass # 회로 breakerupdated_customer = db_breaker.call (update_customer, my_customer) 회로 차단기를 트리거합니다. Do? 기본 매개 변수에 따라 회로 차단기 db_breaker는 update_customer에서 5 개의 연속 된 실패 후 자동으로 회로를 열 것입니다. 회로가 열려있는 경우, update_customer에 대한 모든 호출이 실패합니다. 실제 작동을 실행하려고 시도하지 않고 DiSental (ConnectorRearlerror) (ConnectorRewerError) 60 초 동안 회로 차단기가 Update_Customer가 통과하는 다음 호출을 허용합니다. 그 호출이 성공하면 회로가 닫힙니다. 그러나 실패하면 다른 시간 초과가 ExceptionsBy 기본값을 클로우려면 회로가 다시 열립니다. 실패한 호출은 예외를 발생시키는 호출입니다. 그러나 비즈니스 예외를 나타내는 예외를 제기하는 것이 일반적이며 해당 예외는 시스템 오류를 나타내지 않으므로 차단기가 무시해야합니다. timedb_reaker.excluded_exceptions + = (customervalidationError,) 해당 회로 차단기가 보호하는 기능이 CustomerValidationError (또는 CustomerValidationError에서 파생 된 예외)가 시스템 고장으로 간주되지 않습니다. 모니터링 및 관리 회로 개체는 속성을 제공합니다. 현재 상태를 모니터링하고 변경하는 데 사용할 수 있습니다. # 현재 연속 실패의 현재 수를 가져 오십시오. db_breaker.fail_counter # 최대 연속 실패의 최대 수를 가져 오거나 설정 DB_Breaker.fail_maxdb_breaker.fail_max = 10 # 현재 재설정 시간 초과 기간을 가져 오거나 설정합니다 ( 초) 인쇄 db_breaker.reset_timeoutdb_breaker.reset_timeout = 60 # 현재 상태, 즉 '열기', '반 개방' '닫힌 이름 db_breaker.current_state # circuitDB_Breaker.close () # spelc-엽서 circundb_breaker.half_open () # 회로를 엽니 다. 이러한 기능을 작동 직원에게 노출시키기 위해 간단한 편안한 API를 쉽게 작성할 수 있습니다.


피처 관련 소프트웨어

부서

스타 크래프트 II 재생을 파싱하기위한 파이썬 라이브러리 ...

159

다운로드

errorreport.

웹 응용 프로그램의 개발 중에 HTML 오류 보고서를 제공하고 오류에 대한 이메일 보고서 occurrin ... ...

123

다운로드