클래스: Mongo::Retryable::RetryPolicy 비공개

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/retryable/retry_policy.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

지수 백오프 및 지터가 있는 클라이언트 백프레셔에 대한 재시도 정책을 캡슐화합니다.

클라이언트당 하나의 인스턴스 가 생성되고 해당 클라이언트 의 모든 작업에서 공유됩니다.

이후:

  • 2.1.0

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(max_retries: Backpressure::DEFAULT_MAX_RETRIES) ⇒ RetryPolicy

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 재시도 정책을 만듭니다.

매개변수:

  • max_retries (정수) (기본값: Backpressure::DEFAULT_MAX_RETRIES)

    과부하 재시도의 최대 횟수입니다. 기본값은 Backpressure::DEFAULT_MAX_RETRIES입니다.

이후:

  • 2.1.0



20
21
22
# 파일 'lib/ Mongo/retryable/retry_policy.rb', 줄 20

def 초기화(max_retries: 배압::DEFAULT_MAX_RETRIES)
  @max_retries = max_retries
end

인스턴스 속성 세부 정보

#max_retries정수 (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

과부하 재시도의 최대 횟수를 반환합니다.

반환합니다:

  • (정수)

    과부하 재시도의 최대 횟수입니다.

이후:

  • 2.1.0



14
15
16
# 파일 'lib/ Mongo/retryable/retry_policy.rb', 줄 14

def max_retries
  @max_retries
end

인스턴스 메서드 세부 정보

#backoff_delay(시도, jitter: rand) ⇒ Float

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

주어진 재시도에 대한 백오프 지연을 계산합니다.

매개변수:

  • 시도 (정수)

    재시도 시도 횟수(1-인덱스)입니다.

  • 지터 (Float) (기본값: rand)

    [0.0, 1.0).

반환합니다:

  • (Float)

    백오프 지연(초)입니다.

이후:

  • 2.1.0



30
31
32
# 파일 'lib/ Mongo/retryable/retry_policy.rb', 줄 30

def backoff_delay(시도, 지터: 랜드)
  배압.backoff_delay(시도, 지터: 지터)
end

#should_retry_overload?(시도, 지연, 컨텍스트: nil) ⇒ true | false

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

과부하 재시도를 시도할지 여부를 결정합니다.

매개변수:

  • 시도 (정수)

    재시도 시도 횟수(1-인덱스)입니다.

  • 지연 (Float)

    백오프 지연(초)입니다.

  • 컨텍스트 (Mongo::Operation::Context | nil) (기본값: nil)

    작업 컨텍스트(CSOT 기한 확인용)입니다.

반환합니다:

  • (true | false)

    재시도를 계속할지 여부입니다.

이후:

  • 2.1.0



42
43
44
45
46
47
# 파일 'lib/ Mongo/retryable/retry_policy.rb', 줄 42

def should_retry_overload?(시도, 지연, 컨텍스트: nil)
  반환 거짓 만약 시도 > @max_retries
  반환 거짓 만약 초과_데드라인?(지연, 컨텍스트)

  true
end