Sie können anwenderdefinierte Warteschlangen für Anwendungen verwenden, die eine große Menge von Ereignissen erstellen oder Ereignisse, deren Verarbeitung lange dauert. Diese Aufgabe zeigt, wie Sie eine anwenderdefinierte Warteschlange erstellen, ihren Überwachungsprozess kennenlernen und mithilfe eines Skripts Ereignisse an sie senden.
Vorbereitungen
Erforderliche Rolle: admin
Hinweis: Diese Informationen richten sich an erfahrene Benutzer, die sich mit der Ereignisverarbeitung auskennen.
Prozedur
-
Navigieren zu .
-
Wählen Sie das Ereignis aus, für das Sie eine anwenderdefinierte Warteschlange erstellen möchten.
Das Formular „ Event-Registrierung “ wird angezeigt.
-
Füllen Sie das Feld Warteschlange für das Ereignis in der Ereignisregistrierung aus.
Verwenden Sie nur Kleinbuchstaben, keine Leerzeichen und keine Sonderzeichen außer Unterstrichen (_).

-
Klicken Sie auf Absenden.
In der Ereignistabelle [sysevent] wird ein neues Ereignis aufgeführt.
Im folgenden Beispiel wird das generierte Event employeeOccasion zu my_queue hinzugefügt. Die Ereignisse stecken in der Warteschlange fest. Um dieses Problem zu beheben, erstellen Sie einen Prozess, um die Warteschlange auf Ereignisse zu überwachen.
-
Navigieren zu und öffnen Sie die geplante Aufgabe mit dem Namen Textindex-Ereignisprozess.
-
Klicken Sie auf das
), und wählen Sie Einfügen und beibehalten, um eine Kopie des Prozesses für Textindex-Ereignissezu erstellen.
Wichtig: Achten Sie darauf, die Aufgabe zu kopieren und nicht die geplante Aufgabe für den Textindex-Ereignisprozess zu überschreiben.
-
Ändern Sie im kopierten Zeitplanelement den Wert im Feld Name.
-
Ersetzen Sie im Feld Auftragskontext den Wert für den Parameter GlideEventManager() durch den Namen der neuen Warteschlange.
Der Warteschlangenüberwachungsprozess sucht nach Ereignissen in der Beispiel-Ereigniswarteschlange
my_queue und verarbeitet sie.

-
Verwenden Sie den fünften Parameter der Methode gs.eventQueue(), um Ereignisse an die anwenderdefinierte Warteschlange zu senden.
Der folgende Code zeigt, wie ein Ereignis an die anwenderdefinierte Warteschlange my_queue gesendet wird.
gs.eventQueue('x_60157_employee_spe.employeeOccasion', todaysOccasions, todaysOccasions.number, todaysOccasions.u_employee.name, 'my_queue');
Hinweis: Wenn sich ein Ereignis in der Ereignisregistrierung befindet und gs.eventQueuekein Warteschlangenname angegeben wird, wird die Warteschlange aus der Ereignisregistrierung dem Ereignis weiterhin zugewiesen. Beispiel: gs.eventQueue('x_60157_employee_spe.employeeOccasion') ordnet das Ereignis weiterhin my_queuezu. Wenn der Warteschlangenname im gs.eventQueue() -Aufruf angegeben wird, hat die Warteschlange Priorität.
In der
Ereignistabelle [sysevent] können Sie überprüfen, ob das aufgerufene Ereignis verarbeitet wurde.
