Altova FlowForce Server 2026 

Ein Trigger in FlowForce Server kann einen der folgenden beiden Zustände einnehmen:

 

Funktioniert normal: Der Trigger wird wie geplant ausgeführt, ohne dass Aufgaben ausgelassen werden.

Überfällig: Der Trigger verpasst seinen Ausführungszeitpunkt aufgrund fehlender Ausführungsslots (nähere Informationen siehe unten).

 

Überfällige Trigger

Ein Trigger ist überfällig, wenn sein Ausführungszeitpunkt aufgrund fehlender Ausführungsslots verpasst wurde. Wenn ein Trigger überfällig wird, wird kein Stapel verpasster Ausführungen erstellt. Stattdessen wird auf den nächsten verfügbaren Ausführungsslot gewartet.

 

Wie verschiedene Trigger Überfälligkeit behandeln

Ein Trigger bleibt so lange überfällig, bis er seine nächste Hauptaufgabe ausführen kann. Das Verhalten variiert und ist von der Art des Triggers abhängig.

 

Timer-Trigger

Die Hauptaufgabe eines Timer-Triggers ist die Ausführung des Auftrags zu einem bestimmten Zeitpunkt. Wenn dieser Zeitpunkt verpasst wird und keine Ausführungslots für die Aufgabe zur Verfügung stehen, wird der Trigger überfällig. Es wird nicht versucht, den Auftrag mehrmals auszuführen, da dies das Problem nur verschlimmern würde. Stattdessen wird gewartet, bis ein Slot frei wird.

 

Aber selbst, wenn ein Slot frei wird, wird dieser dem Trigger möglicherweise nicht sofort zugewiesen. Aufträge mit höherer Priorität (wie z.B. ein Webservice Request oder ein Trigger mit höherer Priorität) können Vorrang haben. Wenn mehrere Trigger derselben Priorität warten, wird anhand interner Regeln ermittelt, welcher Trigger den Slot erhält.

 

Dateisystem-Trigger

Die wichtigste Aufgabe eines Dateisystem-Triggers ist das Überprüfen eines Verzeichnisses auf Änderungen. Das Verhalten von Dateisystem-Triggern ist dasselbe wie das von Timer-Triggern. Bei Dateisystem-Triggern muss aber eventuell mehr als ein Objekt verarbeitet werden: Bei der Überprüfung des Verzeichnisses werden unter Umständen null oder mehrere zu verarbeitende Objekte gefunden.

 

Wenn null Objekte gefunden werden, wird der Ausführungsslot sofort frei gemacht, und andere Trigger können sich darum anstellen.

Wird ein einziges Objekt gefunden, wird der Slot diesem Trigger zur Verarbeitung der Datei zugewiesen.

Werden mehrere Objekte gefunden, werden diese nicht alle im selben Slot verarbeitet, da dies nicht effizient wäre. Stattdessen werden mehrere Instanzen des Triggers erstellt. Jede dieser Instanzen muss auf einen eigenen Ausführungsslot warten, damit ein einziges Objekt verarbeitet werden kann. Sobald ein Objekt verarbeitet wurde, wird die entsprechende Instanz entfernt. Dies wird solange fortgesetzt, bis nur mehr eine Instanz übrig ist, die anschließend die nächste Verzeichnisüberprüfung durchführt.

 

HTTP-Trigger

HTTP-Trigger dienen dazu, eine URL auf Änderungen zu überwachen. Dazu werden die Header Last-Modified oder Content-MD5 regelmäßig überprüft. Wie andere Trigger können auch HTTP-Trigger unter bestimmten Bedingungen überfällig werden:

 

Wenn der Abruf der Ressource das konfigurierte Überprüfungsintervall zeitlich übersteigt.

Wenn beim Versuch der Ausführung des Triggers kein Ausführungsslot verfügbar ist.

 

Im Gegensatz zu Dateisystem-Triggern überwachen HTTP-Trigger nur eine einzige URL (und kein ganzes Verzeichnis) und replizieren sich selbst nicht. Das Verhalten bei Überfälligkeit bleibt jedoch ähnlich: Der Trigger wartet, bis Ressourcen frei werden. Während dieser Zeit werden keine zusätzlichen Überprüfungen in die Warteschlange gestellt.

 

Beispielszenario

Wenn Sie z.B. einen Dateisystem-Trigger definieren, der ein Verzeichnis alle 30 Sekunden überprüfen soll, der Auftrag, der dadurch ausgelöst wird, aber 10 Minuten dauert, so wird der Trigger überfällig, wenn alle Ausführungsslots besetzt sind. Dies passiert, weil der Trigger das Verzeichnis nicht erneut auf neue Dateien überprüfen kann, solange alle Slots besetzt sind. Selbst wenn der Trigger neue Dateien fände, wäre er aufgrund fehlender Slots nicht in der Lage, diese sofort zu verarbeiten.

 

Sobald Slots frei werden, nimmt der Trigger die Überprüfung wieder auf, bleibt aber überfällig, weil der geplante Überprüfungszeitpunkt verpasst wurde. Dieses Verhalten ist beabsichtigt, da der Versuch, alles sofort zu verarbeiten, die Gesamteffizienz des Systems beeinträchtigen und zu Verzögerungen führen würde.

 

Überfällige Trigger sind nicht unbedingt ein Zeichen für ein Problem; sie zeigen nur an, dass eine geplante Aufgabe aufgrund von Ressourcenengpässen verpasst wurde.

 

Mögliche Lösungen

Wenn Trigger zu oft überfällig werden, lässt dies vermuten, dass der Server überlastet sein könnte. Wir schlagen folgende Lösungen vor:

 

Verringern Sie die Überprüfungsfrequenz entsprechend der Auftragsausführungsdauer: Wenn ein Auftrag 10 Minuten dauert, ist eine Überprüfung alle 30 Sekunden nicht notwendig. Sie sollten das Überprüfungsintervall (z.B. 5 Minuten) vergrößern, um die Auftragsdauer zu berücksichtigen.

Erhöhen Sie die Anzahl der Ausführungsslots: Weisen Sie dem Trigger, wenn möglich, mehr Ausführungsslots zu, um die Wartezeiten für Trigger zu reduzieren.

Passen Sie den Ausführungszeitpunkt an: Lassen Sie mehr Zeit zwischen Triggern, damit diese nicht alle gleichzeitig ausgelöst werden. Dadurch stellen sich weniger Aufträge um die Slots an.

Optimieren Sie die Auftrags-Laufzeiten: Verbessern Sie die Effizienz von Aufträgen, damit Slots schneller frei werden.

Führen Sie Upgrades von Server-Ressourcen durch: Fügen Sie mehr CPU, Arbeitsspeicher oder Ausführungsslots hinzu, um höhere Arbeitslasten zu bewältigen.

 

© 2019-2025 Altova GmbH