Class: Mongo::Cluster::PeriodicExecutor Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
BackgroundThread
Definido en:
lib/mongo/cluster/periodic_executor.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

Un administrador que llama a #execute en sus ejecutores a intervalos regulares.

Desde:

  • 2.5.0

Resumen de constantes colapsar

FRECUENCIA =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

El intervalo de tiempo por defecto para que el ejecutor periódico ejecute.

Desde:

  • 2.5.0

5

Constantes incluidas desde Loggable

Loggable::PREFIX

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos de BackgroundThread (Hilo de fondo)

#¡Corre!, #¿corriendo?, #¡detente!

Métodos incluidos desde Registrable

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

Detalles del Constructor

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

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea un ejecutor periódico.

Ejemplos:

Crea un PeriodicExecutor.

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

Parámetros:

  • ejecutores (arreglo<Object>)

    Los ejecutores. Cada uno debe responder a #execute y #flush.

  • opciones (encriptada) (por defecto: {})

    Las opciones.

Opciones Hash (options):

  • :logger (Logger)

    Un registrador personalizado para usar.

Desde:

  • 2.5.0



44
45
46
47
48
49
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 44

def inicializar(ejecutores, opciones = {})
  @thread = nulo
  @executors = ejecutores
  @stop_semaphore = Semáforo.Nuevo
  @options = opciones
end

Detalles de atributo de instancias

#opcionesObjeto (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



51
52
53
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 51

def opciones
  @options
end

Detalles del método de instancia

#do_workobjeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



55
56
57
58
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 55

def realizar_trabajo
  ejecutar
  @stop_semaphore.esperar(Frecuencia)
end

#ejecutarObjeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Accionar una llamada de ejecución en cada reaper.

Ejemplos:

Activar a todos los segadores.

periodic_executor.execute

Desde:

  • 2.5.0



83
84
85
86
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 83

def ejecutar
  @executors.cada(&Ejecutar)
  true
end

#vaciarObjeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Ejecutar todas las operaciones pendientes.

Ejemplos:

Ejecutar todas las operaciones pendientes.

periodic_executor.flush

Desde:

  • 2.5.0



96
97
98
99
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 96

def fluir
  @executors.cada(&limpiar)
  true
end

#pre_stopObject

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



60
61
62
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 60

def pre_stop
  @stop_semaphore.señal
end

#detener(final = false) ⇒ objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



64
65
66
67
68
69
70
71
72
73
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 64

def deténgase(final = false)
  super

  begin
    fluir
  rescate StandardError
  end

  true
end