Compartir a través de


Especificar el orden de procesamiento de eventos

Notification Services proporciona dos opciones para determinar cómo se procesan las reglas de aplicación. Puede especificarse si las reglas se activan una vez por cada período de cuanto del generador o cada vez que llega un lote de eventos. Estas dos opciones se conocen, respectivamente, como secuenciación de cuantos y secuenciación de subcuantos. Estas dos opciones proporcionan la posibilidad de elegir entre una estricta corrección de los datos y el rendimiento del generador. De forma predeterminada, Notification Services utiliza la secuenciación de cuantos. Para obtener más información acerca de los cuantos del generador, vea Especificar la duración de cuantos del generador.

Secuenciación de cuantos

En este modo, Notification Services activa las reglas una vez por cada cuanto del generador en el orden siguiente:

  1. Reglas de crónica de eventos
  2. Reglas de suscripción desencadenadas por eventos
  3. Reglas de suscripción programada

Si varios lotes de eventos llegan durante el cuanto, Notification Services procesa las reglas de crónica de eventos y las reglas de suscripción controladas por eventos frente a todos esos lotes de eventos a la vez, como si todos los eventos formaran parte del mismo lote.

Todas las suscripciones programadas para procesamiento durante el cuanto se procesan a la vez cuando finaliza el período del cuanto.

Al agrupar todos los eventos que han llegado durante el cuanto y todas las suscripciones programadas durante el cuanto, la aplicación puede realizar importantes ganancias de rendimiento del procesamiento por lotes. No obstante, esta ventaja de rendimiento es a costa de una estricta corrección de orden. Si la corrección de orden no es un requisito estricto para su aplicación, utilice la secuenciación de cuantos.

Secuenciación de subcuantos

En algunos casos, es necesario garantizar que todos los lotes de eventos se procesan individualmente y en el orden en que se recibieron, y que las suscripciones programadas utilizan sólo los datos que llegaron antes de que la suscripción programada tuviera que procesarse. En este caso debe utilizar la secuenciación de subcuantos.

La secuenciación de subcuantos procesa los eventos y suscripciones de la siguiente manera:

  1. Antes de procesar el primer lote de eventos, Notification Services activa las reglas programadas de las suscripciones programadas que tenían que procesarse antes de que llegara el primer lote de eventos.
  2. A continuación, Notification Services activa reglas para cada lote de eventos en el orden de llegada:
    1. Reglas de crónica de eventos
    2. Reglas de suscripción desencadenadas por eventos
    3. Reglas de suscripción programada

Una vez procesados todos los lotes de eventos, Notification Services activa reglas de suscripción programadas para cualquier suscripción que tenga que procesarse después de la llegada del último lote de eventos.

Secuenciación de cuantos y subcuantos ilustrada

En la ilustración siguiente se muestran ocho cuantos de generador. Durante estos ocho cuantos de generador llegan 12 lotes de eventos y 12 suscripciones programadas tienen que procesarse.

Cómo funciona la secuenciación de cuantos

Ejemplo de línea de tiempo de eventos y suscripciones

El generador procesa los 12 lotes de eventos y las 12 suscripciones programadas de manera diferente según el orden de procesamiento de eventos especificado. En la tabla siguiente se muestra cómo el generador procesa cada cuanto.

Cuanto Secuenciación de cuantos Secuenciación de subcuantos

Procesar cuanto 1

Los lotes de eventos E1, E2 y E3 se procesan conjuntamente.

No hay ninguna suscripción programada para procesar.

Los lotes de eventos E1, E2 y E3 se procesan secuencialmente.

No hay ninguna suscripción programada para procesar.

Procesar cuanto 2

Los lotes de eventos E4 y E5 se procesan conjuntamente.

Se procesa la suscripción programada T1.

Los lotes de eventos E4 y E5 se procesan secuencialmente.

Se procesa la suscripción programada T1.

Procesar cuanto 3

Los lotes de eventos E6 y E7 se procesan conjuntamente.

Se procesa la suscripción programada T2.

Se procesa el lote de eventos E6.

Se procesa la suscripción programada T2.

Se procesa el lote de eventos E7.

Procesar cuanto 4

Se procesa el lote de eventos E8.

Las suscripciones programadas T3 y T4 se procesan conjuntamente.

Se procesa el lote de eventos E8.

Las suscripciones programadas T3 y T4 se procesan conjuntamente.

Procesar cuanto 5

Los lotes de eventos E9 y E10 se procesan conjuntamente.

Se procesa la suscripción programada T5.

Se procesa la suscripción programada T5.

Los lotes de eventos E9 y E10 se procesan secuencialmente.

Procesar cuanto 6

Se procesa el lote de eventos E11.

Las suscripciones programadas T6 y T7 se procesan conjuntamente.

Se procesa la suscripción programada T6.

Se procesa el lote de eventos E11.

Se procesa la suscripción programada T7.

Procesar cuanto 7

Se procesa el lote de eventos E12.

Las suscripciones programadas T8 y T9 se procesan conjuntamente.

Las suscripciones programadas T8 y T9 se procesan conjuntamente.

Se procesa el lote de eventos E12.

Procesar cuanto 8

No hay ningún lote de eventos para procesar.

Las suscripciones programadas T10, T11 y T12 se procesan conjuntamente.

No hay ningún lote de eventos para procesar.

Las suscripciones programadas T10, T11 y T12 se procesan conjuntamente.

Configurar la secuenciación de cuantos o subcuantos

Para configurar la secuenciación de subcuantos, defina la propiedad ProcessEventsInOrder como true. La secuenciación de cuantos es la opción predeterminada, por lo que puede definir la propiedad ProcessEventsInOrder como false o excluir la propiedad de la definición de aplicación.

Para configurar la secuenciación de cuantos o subcuantos:

Vea también

Conceptos

Especificar la configuración de ejecución de la aplicación
Especificar la duración de cuantos del generador
Definir reglas de crónica de eventos
Definir reglas de suscripción
Definir reglas de evento
Definir reglas programadas

Ayuda e información

Obtener ayuda sobre SQL Server 2005