Utilisation de files d’attente personnalisées pour traiter des événements

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Vous pouvez utiliser des files d’attente personnalisées pour les applications qui créent un grand volume d’événements ou des événements dont le traitement prend beaucoup de temps. Cette tâche montre comment créer une file d’attente personnalisée, son processus de surveillance et utiliser un script pour envoyer des événements à la file d’attente.

    Avant de commencer

    Rôle requis : admin

    Remarque :
    Ces informations sont destinées aux utilisateurs avancés qui comprennent le traitement des événements.

    Procédure

    1. Accédez à la Politique système > Événements > Registre.
    2. Sélectionnez l’événement pour lequel vous souhaitez créer une file d’attente personnalisée.
      Le formulaire d’inscription à l’événement s’affiche.
    3. Renseignez le champ File d’attente de l’événement dans le registre des événements.
      Utilisez uniquement des lettres minuscules, pas d’espace et aucun caractère spécial à l’exception du trait de soulignement (_).

      Mise en surbrillance du formulaire d’inscription à un événement Champ File d’attente contenant le nom de la file d’attente en minuscules.

    4. Cliquez sur Envoyer.
      Un nouvel événement est répertorié dans la table Événements [sysevent].

      Dans l’exemple suivant, lorsque l’événement employeeOccasion est généré, il est ajouté à my_queue. Les événements sont bloqués dans la file d’attente. Pour résoudre ce problème, créez un processus pour surveiller la file d’attente lors de la recherche d’événements.Table d’événements répertoriant l’événement avec la file d’attente ajoutée répertoriée dans le champ file d’attente.

    5. Accédez à la Planificateur système > Travaux planifiés > Travaux planifiés et ouvrez le processus d’événements d’index de texte nommé tâche planifiée.
      Table de calendrier avec *texte dans Table de calendrierdans le champprocessus des événements d’index de texte le champ de recherche Nom et le nom du calendrier du processus des événements d’index de texte mis en surbrillance.
    6. Cliquez sur l’icône du menu des actions supplémentaires (menu de l’icône des actions supplémentaires)--> et sélectionnez Insérer et rester pour créer une copie du processus d’événements d’index de texte.
      Important :
      Assurez-vous de copier la tâche et de ne pas écraser les événements d’index de texte traiter la tâche planifiée.
    7. Dans l’élément de calendrier copié, modifiez la valeur du champ Nom .
    8. Dans le champ Contexte de la tâche , remplacez la valeur du paramètre GlideEventManager() par le nom de la nouvelle file d’attente.
      Formulaire d’élément de calendrier montrant l’élément copié renommé et le nom de file d’attente mis à jour pour GlideEventManager dans le champContexte de la tâche.
      Le processus de surveillance de file d’attente recherche et traite les événements dans l’exemple my_queue file d’attente des événements.

      Table d’événements mettant en évidence le contenu des champs Traité et File d’attente.

    9. Utilisez le cinquième paramètre de la méthode gs.eventQueue() pour envoyer des événements à la file d’attente personnalisée.

      Le code suivant montre comment envoyer un événement à la file d’attente personnalisée my_queue.

      gs.eventQueue('x_60157_employee_spe.employeeOccasion', todaysOccasions, todaysOccasions.number, todaysOccasions.u_employee.name, 'my_queue');
      Remarque :
      Si un événement se trouve dans le registre des événements et qu’aucun nom de file d’attente n’est fourni à gs.eventQueue, la file d’attente du registre des événements est toujours affectée à l’événement. Par exemple, gs.eventQueue('x_60157_employee_spe.employeeOccasion') associe toujours l’événement à my_queue. Si le nom de la file d’attente est fourni dans l’appel gs.eventQueue(), la file d’attente est prioritaire.
      Vous pouvez vérifier que l’événement appelé a été traité en consultant la table Événements [sysevent].

      Table d’événements listant les événements traités filtrés par le nom de l’événement.