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

Colapso delresumen constante

FRECUENCIA =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

El intervalo de tiempo predeterminado para que se ejecute el ejecutor periódico.

Desde:

  • 2.5.0

5

Constantes incluidas desde Loggable

Registrable::PREFIX

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos desde BackgroundThread

#corre!, #corre?, #para!

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 forma parte de una API privada. Debe evitarlo 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 (Hash) (por defecto: {})

    Las opciones.

Opciones Hash (options):

  • :logger (Logger)

    Un registrador personalizado para usar.

Desde:

  • 2.5.0



47
48
49
50
51
52
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 47

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

Detalles de los atributos de instancia

#opcionesObjeto (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



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

def opciones
  @options
end

Detalles del método de instancia

#do_workobjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



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

def realizar_trabajo
  ejecutar
  @stop_semaphore.esperar(Frecuencia)
end

#ejecutarObjeto

Este método forma parte de una API privada. Debe evitarlo 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



86
87
88
89
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 86

def ejecutar
  @executors.cada(YEjecutar)
  true
end

#flushObjeto

Este método forma parte de una API privada. Debe evitarlo 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



99
100
101
102
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 99

def fluir
  @executors.cada(Ylimpiar)
  true
end

#pre_stopObject

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



63
64
65
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 63

def pre_stop
  @stop_semaphore.señal
end

#stop(final = falso) ⇒ Objeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.5.0



67
68
69
70
71
72
73
74
75
76
# Archivo 'lib/mongo/clúster/periodic_executor.rb', línea 67

def parada(final = false)
  super

  begin
    fluir
  rescate
  end

  true
end