Warteschlangensteuerung
Wählen Sie Verwaltung der Engines > Warteschlangensteuerung, Job-Routing-Regeln oder Engine-Zuweisungsregeln.
Die Warteschlangensteuerung ist ein Mechanismus, um FME Engines gezielt für die Ausführung bestimmter Jobs zu verwenden. Die Gründe für die Verwendung der Warteschlangensteuerung sind:
- Steuern der Priorität von Job-Anfragen.
- Senden eines Jobs an eine FME Engine in unmittelbarer Nähe einer Datenquelle
- Reservieren von FME Engines für geplante Aufträge.
- Reservieren von Dynamic Engines für bestimmte Jobs.
- Reservieren einiger FME Engines für schnelle Jobs und anderer für Jobs mit hoher Last.
- Senden eines Jobs an eine FME Engine, die ein bestimmtes Format unterstützt.
Funktionsweise
Die Warteschlangensteuerung wird über drei Mechanismen konfiguriert, die zusammenarbeiten, um sicherzustellen, dass die richtigen Engines Ihre Jobs ausführen.
- Job-Routing-Regeln: Die Kriterien, die ein Job erfüllen muss, um sich für eine bestimmte Warteschlange zu qualifizieren. Die Kriterien können auf Leistungsmetriken eines Workspaces basieren, die auf der Seite Workspaces gemeldet werden. Die Kriterien können aber auch auf anderen Eigenschaften von Workspaces basieren, wie z. B. Name oder Repository.
- Engine-Zuweisungsregeln : Die Zuweisung von Engines zu Warteschlangen basierend auf Eigenschaften von Engines oder Warteschlangen. Alternativ können Engines anhand des Engine-Namens Warteschlangen zugewiesen werden. Mit der Option Aktive Zeiträume können Engine-Zuweisungsregeln nur zu bestimmten Zeiten gelten.
- Warteschlangen: Der FME Flow-Mechanismus, der Jobs hält und sie basierend auf Job-Routing- und Engine-Zuweisungsregeln an Engines weiterleitet.
Beispiel: Weiterleitung von Jobs aus einem bestimmten Repository

Stellen Sie sich vor, dass Sie alle Workspaces im Repository Samples auf zwei bestimmten FME Engines ausführen möchten.
Erstellen Sie zunächst eine Warteschlange mit dem Namen Samples_Queue, die die Jobs enthält, die an die angegebenen Engines weitergeleitet werden. Erstellen Sie als Nächstes eine Job-Routing-Regel, die Jobs aus dem Samples-Repository an Samples_Queue weiterleitet:
- Typ: Repository,
- Repositorys: Samples
- Warteschlange: Samples_Queue
Erstellen Sie abschließend eine Engine-Zuweisungsregel, die Engines zum Ausführen von Jobs zuweist, die an Samples_Queue weitergeleitet werden:
- Typ: Name
- Engines: Wählen Sie die beiden FME Engines aus, die Sie der Warteschlange Samples_Queue zuordnen möchten.
- Warteschlangen: Samples_Queue
Beispiel: Weiterleiten von Jobs basierend auf Leistungsmetriken

Stellen Sie sich vor, Sie möchten Ihre höchstverarbeitenden Jobs auf FME Engines auslagern, die auf einem separaten Server mit dem Namen "FMEFlow2" installiert sind. Auf der Seite Workspaces können Sie innerhalb der einzelnen Repositorys einige nützliche Leistungsstatistiken für Workspaces sehen, die bisher oder seit der Aktualisierung der Statistiken Jobs ausgeführt haben. Sie entscheiden, Jobs auf diesen Server zu verlagern, basierend auf einer Kombination aus Durchschnittliche % CPU > 80 und Durchschnittliche CPU-Zeit > 1 Stunde.
Zunächst erstellen Sie eine separate Warteschlange mit dem Namen queue_FMEFlow2, die die Jobs enthält, die an die Engines auf FMEFlow2 weitergeleitet werden.
Als nächstes erstellen Sie eine Job-Routing-Regel, die Folgendes festlegt: 1) Ihre Job-Routing-Kriterien - in diesem Fall %CPU > 80 % UND CPU-Zeit > 1 Stunde; und 2) Jobs, die diese Kriterien erfüllen, werden queue_FMEFlow2 zugewiesen. (Beachten Sie, dass Sie eine Job-Routing-Regel nur einer Warteschlange zuordnen können. Eine Warteschlange kann jedoch mehreren Job-Routing-Regeln zugewiesen werden).
Schließlich erstellen Sie eine Engine-Zuweisungsregel, die angibt, welche Engines Jobs ausführen, die an queue_FMEFlow2 weitergeleitet werden. Sie können die Engines mit Namen angeben. Eine bessere Möglichkeit ist jedoch, die Engines auf der Grundlage einer gemeinsamen Systemeigenschaft anzugeben, die allen auf dem Server FMEFlow2 installierten Engines zugewiesen ist. Auf der Registerkarte Engines können Sie sehen, dass eine der Systemeigenschaften, die Ihren FME Engines zugewiesen sind, der Servername ist, auf dem sie installiert sind. In diesem Fall wird einigen Ihrer Engines die Eigenschaft FMEFlow2 zugewiesen. Wenn Sie FMEFlow2 weitere Engines hinzufügen, können diese auf diese Weise auch Jobs in der Warteschlange ausführen, ohne sie explizit zu dieser Regel hinzuzufügen. (Beachten Sie, dass einer Engine-Zuweisungsregel mehr als eine Warteschlange zugewiesen werden kann.)
Zu beachtende Aspekte
Wenn Sie mit der Warteschlangensteuerung arbeiten, sollten Sie Folgendes beachten:
- Sie können Warteschlangen Prioritäten zuweisen. Je nach Zeitpunkt können Jobs, die an Warteschlangen mit höherer Priorität weitergeleitet werden, vor Jobs in Warteschlangen mit niedrigerer Priorität gesendet werden.
- Eine Job-Routing-Regel kann nur für eine Warteschlange gelten. Eine Warteschlange kann jedoch mehreren Regeln zugewiesen werden. Wenn ein Job die Kriterien für mehr als eine Regel erfüllt, werden die vorrangigen Regeln in der Reihenfolge auf der Registerkarte "Job-Routing-Regeln" aufgelistet. Weitere Informationen finden Sie unter Priorisierung von Job-Routing-Regeln weiter unten.
- Wenn ein Job eingereicht wird, kann er sich für mehr als eine Warteschlange qualifizieren. Wenn derselbe Job jedoch erneut übertragen wird, wird ihm dieselbe Warteschlange zugewiesen, in der er zuvor ausgeführt wurde.
- Jobs, die nicht an benutzerdefinierte Warteschlangen weitergeleitet werden, werden an die Standard-Warteschlange weitergeleitet.
- Damit eine metrikbasierte Job-Routing-Regel wirksam wird, muss der Workspace seit dem erstmaligen Erfassen oder Zurücksetzen der Statistiken oft genug gelaufen sein, um eine statistisch signifikante Stichprobe zu erzeugen. Die erforderliche Mindestanzahl von Jobs, die für eine signifikante Stichprobe ausgeführt werden müssen, kann zwischen 30 und 100 variieren, abhängig von der Variabilität der Daten und dem von der Regel geforderten Präzisionsgrad (z. B. Minuten gegenüber Sekunden). Je variabler die Eingabedaten sind und je höher die geforderte Genauigkeit dieser Daten ist, desto größer ist der erforderliche Stichprobenumfang. Wenn sich eine Job-Routing-Regel nicht auf eine statistisch signifikante Stichprobe von ausgeführten Jobs bezieht, tritt die nächste anwendbare Regel nach Priorität in Kraft, oder der Job wird an die Standard-Warteschlange weitergeleitet.
- Die explizite Definition einer Warteschlange, z. B. auf der Seite Workspace ausführen, in einer Aktion Workspace ausführen, in Ablaufpläne oder über Job-Direktiven, umgeht effektiv die Job-Routing-Regeln.
- Sie können die Warteschlangen, denen Ihre FME Engines zugewiesen sind, auf der Registerkarte Engines anzeigen. Außerdem können Sie die Anzahl der Warteschlangen, denen Engines zugewiesen werden können, begrenzen, um die Belastung der Engines auszugleichen.
Erste Schritte mit der Warteschlangensteuerung
Um mit der Warteschlangensteuerung zu beginnen, erstellen Sie Ihre eigenen Warteschlangen, legen die Job-Routing-Regeln fest, die für jede Warteschlange gelten, und weisen Engines für die Ausführung von Jobs in Warteschlangen zu.

1. Registerkarte "Warteschlangen": Erstellen einer Warteschlange
- Klicken Sie auf der Registerkarte Warteschlangen auf Neu.
- Geben Sie einen Namen und eine Beschreibung (optional) für die Warteschlange ein.
- Weisen Sie eine Priorität zu (Standardwert ist 5). Die Priorität muss eine Ganzzahl zwischen 1 und 10 sein. Die höchste Priorität ist 1 und die niedrigste Priorität ist 10. Warteschlangen mit höherer Priorität senden Job-Anfragen vor Warteschlangen mit niedrigerer Priorität.
- Klicken Sie auf OK.
2. Registerkarte "Job-Routing-Regeln": Zuweisung der Warteschlange zu einer Regel
So weisen Sie einer vorhandenen Regel eine Warteschlange zu:
- Öffnen Sie die Registerkarte Job-Routing-Regeln und klicken Sie auf eine Regel, um sie zu öffnen.
- Aktualisieren Sie im Feld Warteschlange die Warteschlange, für die diese Regel gilt.
- Klicken Sie auf OK.
So weisen Sie einer neuen Regel eine Warteschlange zu:
- Öffnen Sie die Registerkarte Job-Routing-Regeln und klicken Sie auf Neu.
- Geben Sie auf der Seite "Job-Routing-Regel erstellen" Folgendes an:
- Einen Namen für die Regel.
- Typ:
- Eigenschaften: Die Warteschlange verarbeitet Jobs, die die Anforderungen bestimmter Job-Leistungskennzahlen oder anderer Eigenschaften erfüllen, einschließlich einer oder mehrerer der folgenden:
Erweitern für Eigenschaften
- % CPU: Jobs, deren Durchschnittliche % CPU die in der Regel festgelegten Anforderungen erfüllt.
- CPU-Zeit: Jobs, deren Durchschnittliche CPU-Zeit die in der Regel festgelegten Anforderungen erfüllt.
- Verstrichene Zeit: Jobs, deren Durchschnittliche verstrichene Zeit die in der Regel festgelegten Anforderungen erfüllt.
- Maximale Speichernutzung: Jobs, deren Durchschnittliche maximale Speichernutzung die in der Regel festgelegten Anforderungen erfüllt.
- Repository: Jobs, die aus Workspaces in einem oder mehreren angegebenen Repositorys stammen.
- Workspace: Jobs aus einem oder mehreren angegebenen Workspaces. Geben Sie das Repository und dann den Workspace an.
- Quelltyp: Jobs, die von einem oder mehreren angegebenen FME Flow-Mechanismen stammen.
- Quellname: Jobs, die von einem oder mehreren benannten FME Flow-Elementen stammen, z. B. der Name eines Ablaufplans.
- Benutzername: Jobs, die unter dem angegebenen Benutzernamen ausgeführt werden. Weitere Informationen über die Eigenschaft Benutzername finden Sie unter Jobs ("Abgeschlossen", "In der Warteschlange" oder "In Bearbeitung").
- Benutzerrolle: Jobs, die unter einem beliebigen Benutzernamen ausgeführt werden, der zu einer oder mehreren angegebenen Rollen gehört. Weitere Informationen über die Eigenschaft Benutzername finden Sie unter Jobs ("Abgeschlossen", "In der Warteschlange" oder "In Bearbeitung").
Geben Sie unter Verwendung boolescher Logik die Parameter der Regel an. Um der Regel Parameter hinzuzufügen, klicken Sie auf + Regel. Um Parameter in der Regel zu verschachteln, klicken Sie auf + Regelsatz.
Für eine Kombination aus Durchschnittliche % CPU > 80 und Durchschnittliche CPU-Zeit > 1 Stunde geben Sie beispielsweise % CPU > 80 % AND CPU-Zeit > 1 Stunde an.
- Repository: Die Warteschlange verarbeitet Jobs, die aus Workspaces in einem oder mehreren angegebenen Repositorys stammen.
Hinweis Damit eine metrikbasierte Job-Routing-Regel wirksam wird, muss der Workspace seit dem erstmaligen Erfassen oder Zurücksetzen der Statistiken oft genug gelaufen sein, um eine statistisch signifikante Stichprobe zu erzeugen. Die erforderliche Mindestanzahl von Jobs, die für eine signifikante Stichprobe ausgeführt werden müssen, kann zwischen 30 und 100 variieren, abhängig von der Variabilität der Daten und dem von der Regel geforderten Präzisionsgrad (z. B. Minuten gegenüber Sekunden). Je variabler die Eingabedaten sind und je höher die geforderte Genauigkeit dieser Daten ist, desto größer ist der erforderliche Stichprobenumfang. Wenn sich eine Job-Routing-Regel nicht auf eine statistisch signifikante Stichprobe von ausgeführten Jobs bezieht, tritt die nächste anwendbare Regel nach Priorität in Kraft, oder der Job wird an die Standard-Warteschlange weitergeleitet.Hinweis Um das Repository mit anderen Kriterien zu kombinieren, legen Sie Typ: Eigenschaften, Regel: Repository fest, geben ein Repository an und fügen dann weitere Eigenschaften hinzu. - Eigenschaften: Die Warteschlange verarbeitet Jobs, die die Anforderungen bestimmter Job-Leistungskennzahlen oder anderer Eigenschaften erfüllen, einschließlich einer oder mehrerer der folgenden:
- Warteschlange: Wenden Sie diese Regel auf eine Warteschlange an.
- Aktiviert: Standardmäßig ist die Regel aktiviert, was bedeutet, dass nachfolgende Jobs, die die Anforderungen der Regel erfüllen, an die angegebene Warteschlange weitergeleitet werden. Wenn diese Option deaktiviert ist, werden Jobs, die ansonsten aufgrund dieser Regel an diese Warteschlange weitergeleitet würden, stattdessen nach Priorität an die nächste anwendbare Regel weitergeleitet (siehe Priorisierung von Job-Routing-Regeln, unten). Wenn keine anderen Regeln gelten, werden Jobs an die Standard-Warteschlange weitergeleitet.
- Klicken Sie auf OK.
3. Registerkarte Engine-Zuordnungsregeln: Festlegen, wie Engines den Warteschlangen zugeordnet werden
Ein Satz von Engine-Zuweisungsregeln bestimmt, wie Engines Warteschlangen zugewiesen werden. Sie können bestimmten Engines Warteschlangen nach Namen oder basierend auf den Eigenschaften von Engines und Warteschlangen zuweisen.
So fügen Sie einer vorhandenen Engine-Zuweisungsregel eine Warteschlange hinzu:
- Öffnen Sie die Registerkarte Engine-Zuweisungsregeln.
- Klicken Sie auf die Regel, zu der Sie die Warteschlange hinzufügen möchten.
- Fügen Sie auf der Seite "Engine-Zuweisungsregel bearbeiten" die Warteschlange in das Feld Warteschlangen ein.
- Klicken Sie auf OK.
So fügen Sie eine Warteschlange zu einer neuen Regel hinzu
- Öffnen Sie die Registerkarte Engine-Zuweisungsregeln und klicken Sie auf Neu.
- Geben Sie auf der Seite "Engine-Zuweisungsregel erstellen" Folgendes an:
- Einen Namen für die Regel.
- Typ:
- Eigenschaft: Engines werden Warteschlangen basierend auf den Eigenschaften von Engines und Warteschlangen zugewiesen.
- Regel: Geben Sie mithilfe der booleschen Logik die Eigenschaften an, die bestimmen, wie Engines den angegebenen Warteschlangen zugewiesen werden.
- Dynamisch: FME Engines-Lizenztyp ist Dynamisch.
- Standard: FME Engines-Lizenztyp ist Standard.
- Benutzerdefiniert: Zusätzlich zu Dynamisch und Standard können Sie auf der Registerkarte Engines weitere Engine-Eigenschaften angeben, z. B. den Namen oder das Betriebssystem des Host-Computers.
- Physischer Speicher des Engine-Hosts: Menge an RAM auf dem Rechner, der eine FME Engine hostet.
- Prozessoranzahl des Engine-Hosts: Berechnet als: (Anzahl der CPUs) x (Anzahl der Kerne) x (Anzahl der Hyperthreads) auf dem Rechner, der eine FME Engine hostet.
- Anzahl der Jobs in der Warteschlange: Die Anzahl der Jobs, die sich derzeit in einer angegebenen Warteschlange befinden.
- Längste Wartezeit für Jobs in der Warteschlange: Die Zeit des Jobs, der in einer angegebenen Warteschlange am längsten gewartet hat.
- Zeit bis zum Abschluss aller Jobs in der Warteschlange: Die Zeit, bis alle Jobs in einer angegebenen Warteschlange abgeschlossen sind, basierend auf historischen Daten.
- CPU für alle Aufträge in der Warteschlange bis zum Abschluss: Die CPU-Zeit für alle Jobs in einer bestimmten Warteschlange bis zum Abschluss, basierend auf historischen Daten.
- Anzahl der Engines: Die Anzahl der Engines, die einer bestimmten Warteschlange zugewiesen sind. Wenn Sie aufgrund der aktuellen Leistungsmetriken der Job-Routing-Regeln in der Warteschlange Bedenken hinsichtlich der Engine-Last einer bestimmten Warteschlange haben, verwenden Sie diese Eigenschaft, um Jobs in die Warteschlangen auszulagern, die Sie unten unter Warteschlangen angeben. Wenn beispielsweise der Warteschlange MyQueue1 basierend auf den aktuellen Leistungsmetriken bereits 5 Engines zugewiesen sind, verwenden Sie diese Eigenschaft, um Jobs auf andere Engines auszulagern.
Sie können eine oder mehrere der folgenden Eigenschaften angeben:
Erweitern für Eigenschaften
Die Dropdown-Liste Regel ist mit einigen Eigenschaften vorbelegt, aus denen Sie auswählen können. Um der Dropdown-Liste weitere Eigenschaften hinzuzufügen, klicken Sie auf Eigenschaft erstellen. Geben Sie neben Typ auch eine Eigenschaftskategorie an, entweder Benutzerdefiniert, Engine oder Warteschlange. Wenn Benutzerdefiniert angegeben ist, geben Sie eine Eigenschaft genau so ein, wie sie auf der Registerkarte Engines erscheint. Wenn Warteschlange angegeben ist, wählen Sie eine Warteschlangen-Eigenschaft und geben Sie eine Warteschlange an, für die die Eigenschaft gelten soll. Wenn Engine angegeben ist, wählen Sie eine Engine-Host-Eigenschaft.
Hinweis Geben Sie für Kubernetes-Bereitstellungen von FME-Engines Benutzerdefiniert und die Namen-Eigenschaft der entsprechenden Engine-Bereitstellung an. Weitere Informationen finden Sie unter Definition von FME Engines, Warteschlangensteuerung und Streams für eine Kubernetes-Bereitstellung.Die Regel wird unterhalb der Dropdown-Liste Regel angezeigt, wenn Sie Eigenschaften auswählen. Um Regeln hinzuzufügen, klicken Sie auf + Regel. Um Eigenschaften in der Regel zu verschachteln, klicken Sie auf + Regelsatz.
Um beispielsweise eine beliebige Dynamic Engine auf dem Server WHISTLER (eine benutzerdefinierte Eigenschaft) anzugeben, geben Sie Dynamic AND WHISTLER an.
- Name: Engines werden Warteschlangen über den Engine-Namen zugewiesen.Hinweis Für containerisierte Bereitstellungen von FME Flow wie Kubernetes wird dringend empfohlen, den Engine-Namen stattdessen über die Einstellung der Eigenschaft anzugeben (siehe oben).
- Engines: Geben Sie die Namen der Engines an, die Sie der Warteschlange zuweisen möchten.
Hinweis Sie können keine Engines angeben, die Streams zugeordnet sind.
- Eigenschaft: Engines werden Warteschlangen basierend auf den Eigenschaften von Engines und Warteschlangen zugewiesen.
- Warteschlangen: Geben Sie eine oder mehrere Warteschlangen an, um Jobs an die in dieser Regel angegebenen Engines weiterzuleiten.
- Aktiviert: Standardmäßig ist die Regel aktiviert. Wenn diese Option deaktiviert ist, werden Jobs, die sonst aufgrund dieser Regel an Engines weitergeleitet würden, stattdessen an die Standard-Warteschlange weitergeleitet.
- Aktive Zeiträume: Geben Sie Aktive Zeiträume an, während der die Engine-Zuweisungsregel gilt. Wenn Keine Auswahl angegeben ist, gilt die Regel immer.
- Klicken Sie auf OK.
Verwalten von Warteschlangen und Regeln
Priorisierung von Job-Routing-Regeln
Eine Regel kann nur für eine Warteschlange gelten. Eine Warteschlange kann jedoch mehreren Regeln zugewiesen werden. Wenn ein Job die Kriterien für mehr als eine Regel erfüllt, werden die vorrangigen Regeln in der Reihenfolge auf der Registerkarte "Job-Routing-Regeln" aufgelistet. Um die Priorität einer Regel zu ändern, klicken Sie auf das Prioritätssymbol neben der Regel und wählen Sie Nach oben verschieben oder Nach unten verschieben.
Begrenzung der Anzahl von Warteschlangen, denen Engines zugewiesen werden können.
Sie können die Warteschlangen, denen Ihre FME Engines zugewiesen sind, auf der Registerkarte Engines anzeigen. Je nach der aktuellen Konfiguration Ihrer Engine-Zuweisungsregeln stellen Sie möglicherweise fest, dass einige Engines eine höhere Warteschlangenlast tragen als andere. Um diese Last neu zu verteilen, können Sie die Anzahl der Warteschlangen begrenzen, denen Engines zugewiesen werden können.
Klicken Sie auf der Registerkarte Engine-Zuweisungsregeln auf Limit festlegen . Schieben Sie im Dialogfeld "Warteschlangenlimit pro Engine" den Schieberegler Unbegrenzte Warteschlangen nach links, geben Sie einen Wert für Maximale Warteschlangen pro Engine an und klicken Sie auf OK.
Bearbeiten von Warteschlangen und Regeln
Öffnen Sie die Registerkarte Warteschlangen, Job-Routing-Regeln oder Engine-Zuweisungsregeln, je nachdem, was Sie bearbeiten möchten. Klicken Sie auf eine Warteschlange oder Regel, um sie zu bearbeiten.
Aktivieren und Deaktivieren von Regeln
Öffnen Sie die Registerkarte Job-Routing-Regeln oder Engine-Zuweisungsregeln, je nachdem, was Sie bearbeiten möchten. Wählen Sie eine oder mehrere Regeln aus, klicken Sie auf Aktionen, und wählen Sie Aktivieren oder Deaktivieren.
Wenn eine Job-Routing-Regel deaktiviert ist, werden Jobs, die sonst zu einer Warteschlange auf Basis der Regel geleitet würden, stattdessen zur nächsten anwendbaren Regel geleitet, und zwar nach Priorität (siehe Priorisierung von Job-Routing-Regeln, oben). Wenn keine anderen Regeln gelten, werden Jobs an die Standard-Warteschlange weitergeleitet.
Wenn eine Engine-Zuweisungsregel deaktiviert ist, werden Jobs, die andernfalls basierend auf dieser Regel an Engines weitergeleitet würden, stattdessen an die Standard-Warteschlange weitergeleitet.
Entfernen von Warteschlangen und Regeln
Öffnen Sie die Registerkarte Warteschlangen, Job-Routing-Regeln oder Engine-Zuweisungsregeln, je nachdem, was Sie entfernen möchten. Wählen Sie eine oder mehrere Warteschlangen oder Regeln aus, klicken Sie auf Aktionen, und wählen Sie Entfernen.