Módulo: Mongo::Monitoreo::Suscribible

Incluido en:
Mongo::Monitoreo, Global
Definido en:
lib/mongo/monitoring.rb

Overview

Contiene métodos de suscripción comunes entre las suscripciones de monitoreo y eventos globales.

Desde:

  • 2.6.0

Colapso del resumen del método de instancia

Detalles del método de instancia

#subscribe(tema, suscriptor) ⇒ Objeto

Nota:

Es posible suscribir al mismo oyente al mismo tema.

Suscribir a un oyente a un tema de evento.

varias veces, en cuyo caso se invocará al oyente tantas veces como esté suscrito y para desuscribirlo se necesitarán el mismo número de llamadas de desuscripción.

Ejemplos:

Suscríbete al tema.

monitoring.subscribe(QUERY, subscriber)

Suscríbete al tema globalmente.

Monitoring::Global.subscribe(QUERY, subscriber)

Parámetros:

  • tema (Cadena) -

    El tema del evento.

  • abonado (Objeto) -

    El suscriptor encargado de gestionar el evento.

Desde:

  • 2.1.0



105
106
107
# Archivo 'lib/mongo/monitoring.rb', línea 105

def Suscríbete(tema, abonado)
  suscriptores_para(tema).Push(abonado)
end

#suscriptoresHash<Cadena, Objeto>

Consigue todos los suscriptores.

Ejemplos:

Consigue todos los suscriptores.

monitoring.subscribers

Obtenga todos los suscriptores globales.

Mongo::Monitoring::Global.subscribers

Devuelve:

  • (Hash<Cadena, Objeto>)

    Los suscriptores.

Desde:

  • 2.1.0



157
158
159
# Archivo 'lib/mongo/monitoring.rb', línea 157

def suscriptores
  @suscriptores ||= {}
end

#suscriptores?(tema) ⇒ verdadero, falso

Determinar si hay suscriptores para un evento en particular.

Ejemplos:

¿Hay suscriptores?

monitoring.subscribers?(COMMAND)

¿Hay suscriptores globales?

Mongo::Monitoring::Global.subscribers?(COMMAND)

Parámetros:

  • tema (Cadena) -

    El tema del evento.

Devuelve:

  • (verdadero,falso)

    Si hay suscriptores para el tema.

Desde:

  • 2.1.0



174
175
176
# Archivo 'lib/mongo/monitoring.rb', línea 174

def ¿suscriptores?(tema)
  !suscriptores_para(tema).¿vacío?
end

#cancelarsuscripción (tema, suscriptor) ⇒ Objeto

Nota:

El registro global de suscriptores es independiente del registro de suscriptores por cliente. Un mismo suscriptor puede estar suscrito a eventos de un cliente específico y también a nivel global; cancelar la suscripción global no cancelará la suscripción de ese suscriptor del cliente al que estaba suscrito explícitamente.

Nota:

Actualmente, la lista de suscriptores globales se copia en un cliente cada vez que este se crea. Por lo tanto, dar de baja a un suscriptor globalmente no afecta a los clientes existentes; estos seguirán enviando eventos al suscriptor dado de baja.

Cancelar la suscripción de un oyente de un tema de evento.

Si el oyente se suscribió al tema del evento varias veces, esta llamada elimina una sola suscripción.

Si el oyente no estaba suscrito al tema, esta operación no es necesaria y no se generan excepciones.

Ejemplos:

Darse de baja del tema.

monitoring.unsubscribe(QUERY, subscriber)

Darse de baja del tema globalmente.

Mongo::Monitoring::Global.unsubscribe(QUERY, subscriber)

Parámetros:

  • tema (Cadena) -

    El tema del evento.

  • abonado (Objeto) -

    El suscriptor que desea cancelar la suscripción.

Desde:

  • 2.6.0



138
139
140
141
142
143
144
# Archivo 'lib/mongo/monitoring.rb', línea 138

def cancelar la suscripción(tema, abonado)
  subs = suscriptores_para(tema)
  index = subs.index(abonado)
  Si index
    subs.eliminar_en(index)
  end
end