Classe: Mongo::Cluster::PeriodicExecutor Privado

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
BackgroundThread
Definido em:
build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Um gerente que chama #execute em seus executores em um intervalo regular.

Desde:

  • 2.5.0

Colapsode resumo constante

FREQUENCY =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

O intervalo de tempo padrão para o executor periódico executar.

Desde:

  • 2.5.0

5

Constantes incluídas do Loggable

Loggable::Prefix

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Métodos incluídos do BackgroundThread

#run!, #correndo?, #stop!

Métodos incluídos no Loggable

#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger

Detalhes do construtor

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

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Crie um executor periódico.

Exemplos:

Crie um PeriodicExecutor.

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

Parâmetros:

  • executores (Array<Object>)

    Os executores. Cada um deve responder a #execute e #flush.

  • opções (Hash) (padrão para: {})

    As opções.

Hash de opções (opções):

  • :logger (Registrador)

    Um registrador personalizado para usar.

Desde:

  • 2.5.0



47
48
49
50
51
52
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 47

def inicializar(executores, opções = {})
  @thread = nada
  @executors = executores
  @stop_semafore = Semáforo.Novo
  @opções = opções
end

Detalhes do atributo da instância

#opções Objeto (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Desde:

  • 2.5.0



54
55
56
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 54

def opções
  @opções
end

Detalhes do método de instância

#do_work ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Desde:

  • 2.5.0



58
59
60
61
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 58

def do_work
  executar, executar
  @stop_semafore.esperar(FREQUENCY)
end

#executarObjeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

trigger uma chamada de execução em cada reaper.

Exemplos:

trigger todos os reapers.

periodic_executor.execute

Desde:

  • 2.5.0



86
87
88
89
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 86

def executar, executar
  @executors.cada(&:execute)
  true
end

#flushObjeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Execute todas as operações pendentes.

Exemplos:

Execute todas as operações pendentes.

periodic_executor.flush

Desde:

  • 2.5.0



99
100
101
102
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 99

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

#pre_stop ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Desde:

  • 2.5.0



63
64
65
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 63

def pre_stop
  @stop_semafore.sinal
end

#stop(final = false) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Desde:

  • 2.5.0



67
68
69
70
71
72
73
74
75
76
# File 'build/ruby-driver-v2.19/lib/mongo/cluster/periodic_executor.rb', linha 67

def parar(final = false)
  super

  começar
    flush
  salvar
  end

  true
end