Spécification de l'ordre de traitement des événements

Notification Services propose deux options pour déterminer le mode de traitement des règles d'application. Vous pouvez spécifier l'activation des règles une seule fois par période de quantum du générateur ou à chaque arrivée d'un lot d'événements. Ces deux options sont respectivement appelées classement de quantum et classement de sous-quantum. Ces deux options donnent la possibilité de choisir entre l'exactitude stricte des données et les performances du générateur. Par défaut Notification Services utilise le classement de quantum. Pour plus d'informations sur les quanta de générateur, consultez Définition de la durée de quantum du générateur.

Classement de quantum

Dans ce mode, Notification Services active les règles une fois par quantum de générateur dans l'ordre suivant :

  1. Règles de chronique d'événements
  2. Règles d'abonnement gérées par les événements
  3. Règles d'abonnement planifiées

Si plusieurs lots d'événements arrivent pendant le quantum, Notification Services traite en même temps les règles de chronique d'événements et les règles d'abonnement gérées par les événements pour tous ces lots, comme si tous les événements faisaient partie du même lot.

Tous les abonnements planifiés à traiter durant le quantum sont traités en même temps à la fin de la période de quantum.

En regroupant tous les événements qui sont arrivés durant le quantum et tous les abonnements planifiés attendus durant le quantum, l'application peut réaliser des gains de performances significatifs en procédant au traitement par lots. Toutefois, ce gain de performance s'effectue aux dépends de l'exactitude stricte du tri. Ainsi, si l'exactitude du tri n'est pas une condition stricte de votre application, utilisez le classement de quantum.

Classement de sous-quantum

Dans certains cas, vous devez vous assurer que tous les lots d'événements sont traités individuellement et dans l'ordre de leur arrivée, et que seuls les abonnements planifiés utilisent les données qui sont arrivées avant le moment prévu pour le traitement de l'abonnement planifié. Dans ce cas, vous devez utiliser le classement de sous-quantum.

Le classement de sous-quantum traite les événements et les abonnements de la façon suivante :

  1. Avant de traiter le premier lot d'événements, Notification Services active les règles planifiées pour les abonnements planifiés dont le traitement était prévu avant l'arrivée du premier lot d'événements.
  2. Notification Services active ensuite les règles pour chaque lot d'événements, dans leur ordre d'arrivée :
    1. Règles de chronique d'événements
    2. Règles d'abonnement gérées par les événements
    3. Règles d'abonnement planifiées

Une fois tous les lots d'événements traités, Notification Services active les règles d'abonnement planifiées pour tous les abonnements dont le traitement était prévu après l'arrivée du dernière lot d'événements.

Illustrations du classement de quantum et du classement de sous-quantum

L'illustration suivante montre huit quanta de générateur. Au cours de ces huit quanta de générateur, 12 lots d'événements arrivent et 12 abonnements planifiés doivent être traités.

Fonctionnement du classement de quantum

Exemple d'événement et chronologie d'abonnement

Le générateur traite les 12 lots d'événements et les 12 abonnements planifiés différemment, en fonction de l'ordre de traitement des événements spécifié. Le tableau suivant montre la façon dont le générateur traite chaque quantum.

Quantum Classement de quantum Classement de sous-quantum

Quantum de traitement 1

Les lots d'événements E1, E2 et E3 sont traités ensemble.

Aucun abonnement planifié à traiter.

Les lots d'événements E1, E2 et E3 sont traités de manière séquentielle.

Aucun abonnement planifié à traiter.

Quantum de traitement 2

Les lots d'événements E4 et E5 sont traités ensemble.

L'abonnement planifié T1 est traité.

Les lots d'événements E4 et E5 sont traités de manière séquentielle.

L'abonnement planifié T1 est traité.

Quantum de traitement 3

Les lots d'événements E6 et E7 sont traités ensemble.

L'abonnement planifié T2 est traité.

Le lot d'événements E6 est traité.

L'abonnement planifié T2 est traité.

Le lot d'événements E7 est traité.

Quantum de traitement 4

Le lot d'événements E8 est traité.

Les abonnements planifiés T3 et T4 sont traités ensemble.

Le lot d'événements E8 est traité.

Les abonnements planifiés T3 et T4 sont traités ensemble.

Quantum de traitement 5

Les lots d'événements E9 et E10 sont traités ensemble.

L'abonnement planifié T5 est traité.

L'abonnement planifié T5 est traité.

Les lots d'événements E9 et E10 sont traités de manière séquentielle.

Quantum de traitement 6

Le lot d'événements E11 est traité.

Les abonnements planifiés T6 et T7 sont traités ensemble.

L'abonnement planifié T6 est traité.

Le lot d'événements E11 est traité.

L'abonnement planifié T7 est traité.

Quantum de traitement 7

Le lot d'événements E12 est traité.

Les abonnements planifiés T8 et T9 sont traités ensemble.

Les abonnements planifiés T8 et T9 sont traités ensemble.

Le lot d'événements E12 est traité.

Quantum de traitement 8

Il n'y a aucun lot d'événements à traiter.

Les abonnements planifiés T10, T11 et T12 sont traités ensemble.

Il n'y a aucun lot d'événements à traiter.

Les abonnements planifiés T10, T11 et T12 sont traités ensemble.

Configuration du classement de quantum ou de sous-quantum

Pour configurer le classement de sous-quantum, définissez la propriété ProcessEventsInOrder sur la valeur true. La valeur par défaut est le classement de quantum, de sorte que vous pouvez définir la propriété ProcessEventsInOrder sur la valeur false ou exclure la propriété de votre définition d'application.

Pour configurer le classement de quantum ou de sous-quantum

Voir aussi

Concepts

Spécification des paramètres d'exécution d'une application
Définition de la durée de quantum du générateur
Définition des règles de chronique d'événements
Définition de règles d'abonnement
Définition de règles d'événement
Définition de règles planifiées

Aide et Informations

Assistance sur SQL Server 2005