클래스: Mongo::Cluster::PeriodicExecutor Private

상속:
객체
  • 객체
모두 표시
다음을 포함합니다.
배경 스레드
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb

개요

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

실행기에서 정기적으로 #execute를 호출하는 관리자입니다.

이후:

  • 2.5.0

상수 요약 접기

FREQUENCY =

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

주기적 실행기가 실행할 기본값 시간 간격입니다.

이후:

  • 2.5.0

5

Loggable에서 포함된 상수

Loggable::prefix

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

BackgroundThread에 포함된 메서드

#run!, #running?, #stop!

Loggable에 포함된 메서드

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

생성자 세부 정보

#initialize(executors, options = {}) ⇒ PeriodicExecutor

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

주기적 실행기를 만듭니다.

예시:

PeriodicExecutor를 생성합니다.

Mongo::Cluster::PeriodicExecutor.new([reaper, reaper2])

매개변수:

  • 실행자 (Array<Object>)

    실행자. 각각 #execute 및 #flush에 응답해야 합니다.

  • 옵션 (해시) (기본값: {})

    옵션.

옵션 해시(options):

  • :logger (로거)

    사용할 사용자 지정 로거입니다.

이후:

  • 2.5.0



47
48
49
50
51
52
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 47

def 초기화(실행자, 옵션 = {})
  @thread = nil
  @executors = 실행자
  @stop_semapher = 세마포어.신규
  @options = 옵션
end

인스턴스 속성 세부 정보

#options객체 (읽기 전용)

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

이후:

  • 2.5.0



54
55
56
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 54

def 옵션
  @options
end

인스턴스 메서드 세부 정보

#do_work객체

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

이후:

  • 2.5.0



58
59
60
61
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 58

def do_work
  실행
  @stop_semapher.wait(빈도)
end

#실행객체

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

각 리퍼에서 실행 호출을 trigger 합니다.

예시:

모든 리퍼 trigger 합니다.

periodic_executor.execute

이후:

  • 2.5.0



86
87
88
89
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 86

def 실행
  @executors.(&:execute)
  true
end

#flush객체

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

보류 중인 모든 작업을 실행합니다.

예시:

보류 중인 모든 작업을 실행합니다.

periodic_executor.flush

이후:

  • 2.5.0



99
100
101
102
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 99

def flush
  @executors.(&:flush)
  true
end

#pre_stop객체

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

이후:

  • 2.5.0



63
64
65
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 63

def pre_stop
  @stop_semapher.신호
end

#stop(final = false) ⇒ 객체

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

이후:

  • 2.5.0



67
68
69
70
71
72
73
74
75
76
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 클러스터/periodic_executor.rb', 줄 67

def 중지(final = 거짓)
  super

  시작
    flush
  구출
  end

  true
end