FME Flow:2025.1
Contrôle des files d'attente
SélectionnerGestion du moteur >Files d'attente,Règles de routage des tâches , ou Règles d'attribution des moteurs.
Le contrôle des files d'attente est un mécanisme de ciblageMoteurs FME pour exécuter des tâches spécifiques. Les raisons d’utiliser le contrôle de file d’attente incluent :
- Contrôler la priorité des demandes de travail.
- Envoi d'un travail à un moteur FME à proximité d'une source de données.
- Réservation de moteurs FME pour des tâches planifiées.
- Réservation de moteurs dynamiques pour des tâches spécifiques.
- Réserver certains moteurs FME aux travaux rapides et d'autres aux travaux à forte charge.
- Envoi d'un travail à un moteur FME qui prend en charge un format particulier.
Comment ça marche
Le contrôle de la file d'attente est configuré via trois mécanismes qui fonctionnent ensemble pour garantir que les bons moteurs exécutent vos tâches.
- Règles de routage des tâches:Les critères qu'un travail doit respecter pour être admissible à une file d'attente spécifique. Les critères peuvent être basés sur des mesures de performance deworkspaces, qui sont signalés sur leWorkspaces page. Ou bien, les critères peuvent être basés sur d’autres propriétés deworkspaces, tels que le nom ou le référentiel.
- Règles d'attribution des moteurs:L'affectation de moteurs à des files d'attente en fonction des propriétés des moteurs ou des files d'attente. Alternativement, les moteurs peuvent être affectés aux files d'attente par nom de moteur. En option, avecPériodes actives, les règles d'affectation des moteurs ne peuvent s'appliquer qu'à des moments précis.
- Files d'attente: LeFME Flow mécanisme qui conserve les tâches et les oriente vers les moteurs en fonction des règles de routage des tâches et d'affectation des moteurs.
Exemple : routage des tâches à partir d'un référentiel spécifié
Considérez que vous voulez tout exécuterworkspaces dans le référentielÉchantillonssur deux moteurs FME spécifiques.
Tout d’abord, créez unfile d'attente, nomméSamples_Queue , qui contiendra les tâches qui sont acheminées vers les moteurs spécifiés. Ensuite, créez unrègle de routage des tâches qui oriente les emplois depuis leÉchantillonsréférentiel à Samples_Queue:
- Taper:Dépôt,
- Dépôts:Échantillons
- File d'attente:Samples_Queue
Enfin, créez unrègle d'affectation des moteurs qui attribue des moteurs pour exécuter des tâches acheminées versSamples_Queue:
- Taper:Nom
- Moteurs: Sélectionnez les deux moteurs FME que vous souhaitez affecter à la file d'attenteSamples_Queue.
- Files d'attente:Samples_Queue
Exemple : routage des tâches en fonction des indicateurs de performance
Considérez que vous souhaitez décharger vos tâches de traitement les plus élevées vers des moteurs FME installés sur un serveur distinct, nommé « FMEFlow2 ». Sur leWorkspaces page, à l'intérieur des référentiels individuels, vous pouvez voir quelques statistiques de performances utiles pourworkspaces qui ont exécuté des tâches à ce jour ou depuis la mise à jour des statistiques. Vous décidez de décharger des tâches sur ce serveur en fonction d'une combinaison de% CPU moyen >80et Temps CPU moyen >1 heure.
Tout d’abord, vous créez un fichier séparéfile d'attente, nommé file d'attente_FMEFlow2, qui contiendra les tâches qui sont acheminées vers les moteurs sur FMEFlow2.
Ensuite, vous créez unrègle de routage des tâches qui spécifie : 1) Vos critères d'acheminement des tâches — dans ce cas,% CPU > 80 % ET Temps CPU > 1 heure; et 2) Les emplois qui répondent à ces critères sont attribués àfile d'attente_FMEFlow2. (Notez que vous ne pouvez attribuer une règle de routage de tâches qu'à une seule file d'attente. Une file d’attente peut toutefois être affectée à plusieurs règles de routage de tâches.)
Enfin, vous créez unrègle d'affectation des moteurs qui spécifie quels moteurs exécutent les tâches qui sont acheminées versfile d'attente_FMEFlow2. Vous pouvez spécifier les moteurs par nom. Cependant, une meilleure option consiste à spécifier les moteurs en fonction d'une propriété système commune attribuée à tous les moteurs installés sur le serveur FMEFlow2. Sur leMoteurs onglet, vous pouvez voir que l'une des propriétés système attribuées à vos moteurs FME est le nom du serveur sur lequel ils sont installés. Dans ce cas, certains de vos moteurs se voient attribuer la propriétéFMEFlow2. De cette façon, si vous ajoutez plus de moteurs à FMEFlow2, ils peuvent également exécuter des tâches dans la file d'attente sans les ajouter explicitement à cette règle. (Notez que plusieurs files d’attente peuvent être affectées à une règle d’affectation de moteur.)
Éléments à prendre en compte
Lorsque vous travaillez avec le contrôle de file d'attente, gardez à l'esprit les points suivants :
- Priorité de la file d'attente: Vous pouvez attribuer des priorités aux files d'attente. En fonction du timing, les tâches acheminées vers des files d'attente de priorité supérieure peuvent être soumises avant celles des files d'attente de priorité inférieure.
- Priorité de routage des tâches:Une règle de routage de travail ne peut s'appliquer qu'à une seule file d'attente. Cependant, une file d’attente peut être affectée à plusieurs règles. Si un travail répond aux critères de plusieurs règles, les règles prioritaires sont répertoriées dans l'ordre dans l'onglet Règles de routage des travaux. Pour plus d'informations, voirPriorisation des règles de routage des tâches (ci-dessous).
- Lorsqu'un travail est soumis, il peut être éligible à plusieurs files d'attente. Cependant, si ce même travail est soumis à nouveau, il est affecté à la même file d'attente à partir de laquelle il a été exécuté précédemment.
- Les tâches qui ne sont acheminées vers aucune file d'attente définie par l'utilisateur sont acheminées vers la file d'attente par défaut.
- Pour qu'une règle de routage de tâches basée sur des métriques prenne effet, leworkspace doit avoir été exécuté suffisamment de fois depuis que les statistiques sont initialement collectées ou réinitialisées pour générer un échantillon statistiquement significatif. Le nombre minimum de tâches requis à exécuter pour un échantillon significatif peut varier entre 30 et 100, en fonction de la variabilité des données et du degré de précision requis par la règle (par exemple, minutes par rapport aux secondes). Plus les données d’entrée sont variables et plus le degré de précision requis pour ces données est élevé, plus la taille de l’échantillon requis est grande. Si une règle de routage de tâches ne fait pas référence à un échantillon statistiquement significatif de tâches exécutées, la règle applicable suivante prend effet, par priorité, ou les tâches sont acheminées vers la file d'attente par défaut.
- Définir explicitement une file d'attente, par exemple sur leCourirWorkspace page, uneExécutez unWorkspace action, dansHoraires, ou parDirectives de travail , contourne efficacement les règles de routage des tâches.
- Vous pouvez afficher les files d'attente auxquelles vos moteurs FME sont affectés sur leAperçuouFiles d'attenteonglet de la page Gestion du moteur. De plus, pour aider à équilibrer la charge du moteur, vous pouvezfixer une limite sur le nombre de files d'attente auxquelles les moteurs peuvent être affectés.
Premiers pas avec le contrôle des files d'attente
Pour commencer à contrôler les files d'attente, créez vos propres files d'attente, spécifiez les règles de routage des tâches qui s'appliquent à chaque file d'attente et attribuez des moteurs pour exécuter les tâches en file d'attente.
1. Onglet Files d'attente : Créer une file d'attente
- Sur leFiles d'attenteonglet, clicCréer.
- Entrez unNometDescription(facultatif) pour la file d'attente.
- Attribuer unPriorité. La priorité la plus élevée est 10 et la priorité la plus basse est 1. Les files d'attente avec une priorité plus élevée soumettent les demandes de travail avant les files d'attente avec une priorité plus faible, en fonction du timing.
- Cliquez sur OK .
2. Onglet Règles de routage des tâches : Attribuer la file d'attente à une règle
Pour affecter une file d’attente à une règle existante :
- Ouvrez leRègles de routage des tâches onglet et cliquez sur une règle pour l'ouvrir.
- Dans leFile d'attentechamp, mettre à jour la file d'attente à laquelle cette règle s'applique.
- Cliquez sur OK .
Pour attribuer une file d’attente à une nouvelle règle :
- Ouvrez leRègles de routage des tâches tabulation et clicCréer.
- Sur la page Créer une règle de routage de tâche, spécifiez les éléments suivants :
- UNNompour la règle.
- Taper:
- Propriétés: La file d'attente gère les tâches qui répondent aux exigences spécifiéesmesures de performance au travail ou d’autres propriétés, y compris une ou plusieurs des suivantes :
Développer pour les propriétés- % CPU: Emplois dont% CPU moyen répond aux exigences spécifiées dans la règle.
- Temps CPU: Emplois dontTemps CPU moyen répond aux exigences spécifiées dans la règle.
- Temps écoulé: Emplois dontTemps moyen écoulé répond aux exigences spécifiées dans la règle.
- Utilisation maximale de la mémoire: Emplois dontUtilisation maximale moyenne de la mémoire répond aux exigences spécifiées dans la règle.
- Dépôt:Emplois provenant deworkspaces dans un ou plusieurs spécifiésDépôts.
- Workspace: Jobs from one or more specified workspaces. Spécifiez le référentiel, puis leworkspace.
- Type de source: Emplois provenant d'un ou plusieurs secteurs spécifiésFME Flow mécanismes.
- Nom de la source:Emplois provenant d'un ou plusieurs nommésFME Flow des éléments, tels que le nom d’un programme.
- Nom d'utilisateur: Travaux exécutés sous le nom spécifiéNom d'utilisateur. Pour plus d'informations sur leNom d'utilisateurpropriété, voirEmplois (Terminé, en file d'attente ou en cours d'exécution).
- Rôle de l'utilisateur: Les emplois qui s'exécutent sous n'importe quelNom d'utilisateurappartenant à un ou plusieurs groupes spécifiésRôles. Pour plus d'informations sur leNom d'utilisateurpropriété, voirEmplois (Terminé, en file d'attente ou en cours d'exécution).
En utilisant la logique booléenne, spécifiez les paramètres duRègle. Pour ajouter des paramètres à la règle, cliquez sur+ Règle. Pour imbriquer des paramètres dans la règle, cliquez sur+ Ensemble de règles.
Par exemple, pour combiner% CPU moyen > 80 et Temps CPU moyen > 1 heure, précisez% CPU > 80 % ET Temps CPU > 1 heure.
- Dépôt: La file d'attente gère les tâches qui proviennent deworkspaces dans un ou plusieurs spécifiésDépôts.
NotePour qu'une règle de routage de tâches basée sur des métriques prenne effet, leworkspace doit avoir été exécuté suffisamment de fois depuis que les statistiques sont initialement collectées ou réinitialisées pour générer un échantillon statistiquement significatif. Le nombre minimum de tâches requis à exécuter pour un échantillon significatif peut varier entre 30 et 100, en fonction de la variabilité des données et du degré de précision requis par la règle (par exemple, minutes par rapport aux secondes). Plus les données d’entrée sont variables et plus le degré de précision requis pour ces données est élevé, plus la taille de l’échantillon requis est grande. Si une règle de routage de tâches ne fait pas référence à un échantillon statistiquement significatif de tâches exécutées, la règle applicable suivante prend effet, par priorité, ou les tâches sont acheminées vers la file d'attente par défaut.NotePour combiner le référentiel avec d'autres critères, spécifiezTaper:Propriétés,Règle : Dépôt, spécifiez un référentiel, puis ajoutez des éléments supplémentaires Propriétés. - Propriétés: La file d'attente gère les tâches qui répondent aux exigences spécifiéesmesures de performance au travail ou d’autres propriétés, y compris une ou plusieurs des suivantes :
- File d'attente: Appliquez cette règle à une file d'attente.
- Activé:Par défaut, la règle est activée, ce qui signifie que les tâches suivantes qui répondent aux exigences de la règle sont acheminées vers le serveur spécifié.File d'attente. Si cette option est désactivée, les tâches qui seraient autrement acheminées vers cette file d'attente en fonction de cette règle sont plutôt acheminées vers la règle applicable suivante, par priorité (voirPriorisation des règles de routage des tâches, ci-dessous). Si aucune autre règle ne s'applique, les tâches sont acheminées vers la file d'attente par défaut.
- Cliquez sur OK .
3. Onglet Règles d'affectation des moteurs : Spécifier comment les moteurs sont affectés aux files d'attente
Un ensemble de règles d’attribution de moteur détermine la manière dont les moteurs sont attribués aux files d’attente. Vous pouvez attribuer des files d'attente à des moteurs spécifiques par nom ou en fonction des propriétés des moteurs et des files d'attente.
Pour ajouter une file d’attente à une règle d’affectation de moteur existante :
- Ouvrez leRègles d'attribution des moteurs languette.
- Cliquez sur la règle à laquelle vous souhaitez ajouter la file d’attente.
- Sur la page Règle d'attribution du moteur d'édition, ajoutez la file d'attente à laFiles d'attentechamp.
- Cliquez sur OK .
Pour ajouter une file d'attente à une nouvelle règle
- Ouvrez leRègles d'attribution des moteurs onglet et cliquezCréer.
- Sur la page Créer une règle d’attribution de moteur, spécifiez :
- UNNompour la règle.
- Taper:
- Propriété:Les moteurs sont attribués aux files d'attente en fonction des propriétés des moteurs et des files d'attente.
- Règle: À l’aide de la logique booléenne, spécifiez les propriétés qui déterminent la manière dont les moteurs sont affectés aux files d’attente spécifiées.
- Dynamique:Moteurs FME le type de licence est dynamique.
- Standard:Moteurs FME le type de licence est Standard.
- Coutume:En plus deDynamiqueetStandard, vous pouvez spécifier d'autres propriétés du moteur telles qu'elles apparaissent sur leMoteurs onglet, tel que le nom ou le système d'exploitation de la machine hôte.
- Mémoire physique de l'hôte du moteur: Quantité de RAM sur la machine hébergeant un moteur FME.
- Nombre de processeurs de l'hôte du moteur:Calculé comme suit : (nombre de CPU) x (nombre de cœurs) x (nombre d'hyperthreads) sur la machine hébergeant un moteur FME.
- Nombre de tâches en file d'attente: Le nombre de tâches actuellement dans une file d'attente spécifiée.
- Temps d'attente du travail en file d'attente le plus long: Le temps du travail qui a attendu le plus longtemps dans une file d'attente spécifiée.
- Il est temps que toutes les tâches en file d'attente soient terminées: Le temps nécessaire à toutes les tâches d'une file d'attente spécifiée pour se terminer en fonction des données historiques.
- CPU pour terminer tous les travaux en file d'attente: Le temps CPU nécessaire à la fin de tous les travaux d'une file d'attente spécifiée en fonction des données historiques.
- Nombre de moteurs: Le nombre de moteurs affectés à une file d'attente spécifiée. Si vous êtes préoccupé par la charge du moteur d'une file d'attente particulière en fonction des mesures de performances actuelles des règles de routage des tâches de la file d'attente, utilisez cette propriété pour décharger les tâches vers les files d'attente que vous spécifiez ci-dessous, sousFiles d'attente. Par exemple, si la file d'attente MyQueue1 dispose déjà de 5 moteurs qui lui sont attribués en fonction des mesures de performances actuelles, utilisez cette propriété pour décharger les tâches vers d'autres moteurs.
Vous pouvez spécifier une ou plusieurs des propriétés suivantes :
Développer pour les propriétésLeRèglela liste déroulante est pré-remplie avec certaines propriétés parmi lesquelles sélectionner. Pour ajouter plus de propriétés à la liste déroulante, cliquez surCréer une propriété. À côté deTaper, spécifiez une catégorie de propriété, soitCoutume,Moteur , ouFile d'attente. SiCoutumeest spécifié, entrez unPropriétéexactement comme il apparaît sur leMoteurs languette. SiFile d'attenteest spécifié, sélectionnez une file d'attentePropriétéet spécifiez une file d'attente à laquelle la propriété doit s'appliquer. SiMoteurest spécifié, sélectionnez un hôte de moteurPropriété.
NotePour les déploiements Kubernetes de FME Engines, spécifiezCoutumeet lenompropriété du déploiement du moteur applicable. Pour plus d'informations, voir Définition des moteurs FME, du contrôle des files d'attente et des flux pour un déploiement Kubernetes .La règle apparaît sous leRègledéroulant lorsque vous sélectionnez des propriétés. Pour ajouter des règles, cliquez sur+ Règle. Pour imbriquer des propriétés dans la règle, cliquez sur+ Ensemble de règles.
Par exemple, pour spécifier un moteur dynamique sur le serveur WHISTLER (unCoutumepropriété), précisezDynamique ET WHISTLER.
- Nom:Les moteurs sont attribués aux files d'attente par nom de moteur.NotePour les déploiements conteneurisés deFME Flow, comme Kubernetes, nous vous recommandons fortement de spécifier le nom du moteur via lePropriétéréglage à la place (voir ci-dessus).
- Moteurs: Spécifiez les noms de moteur que vous souhaitez attribuer à la ou aux files d'attente.
NoteVous ne pouvez pas spécifier de moteurs qui sont attribués àFlux.
- Propriété:Les moteurs sont attribués aux files d'attente en fonction des propriétés des moteurs et des files d'attente.
- Files d'attente: Spécifiez une ou plusieurs files d'attente pour acheminer les travaux vers les moteurs spécifiés dans cette règle.
- Activé:Par défaut, la règle est activée. Si cette option est désactivée, les tâches qui seraient autrement acheminées vers les moteurs en fonction de cette règle sont plutôt acheminées vers la file d'attente par défaut.
- Périodes actives: Spécifiez lePériodes actives pendant laquelle la règle d'affectation du moteur s'applique. SiAucun, la règle s'applique toujours.
- Cliquez sur OK .
Gestion des files d'attente et des règles
Affichage et réinitialisation des statistiques de file d'attente
FME Flowgarde une trace des statistiques sur les tâches terminées pour chaque file d'attente. Dans l’onglet Files d’attente, sélectionnez une file d’attente qui vous intéresse. Dans le volet de droite, cliquez surStatistiques. Les valeurs statistiques sont cumulatives jusqu'à ce qu'elles soient explicitement réinitialisées. Pour réinitialiser, cliquez surRéinitialiser les statistiques.
Priorisation des règles de routage des tâches
Une règle ne peut s'appliquer qu'à une seule file d'attente. Cependant, une file d’attente peut être affectée à plusieurs règles. Si un travail répond aux critères de plusieurs règles, les règles prioritaires sont répertoriées dans l'ordre dans l'onglet Règles de routage des travaux. Pour modifier la priorité d'une règle, cliquez sur l'icône Priorité à côté de la règle et sélectionnezMonter ou Descendre.
Mise à jour des priorités de plusieurs files d'attente
Dans l’onglet Files d’attente, cliquez sur Modifier les priorités. Déplacez le curseur sur le champ Priorité de la file d’attente que vous souhaitez configurer. Utilisez les flèches haut/bas pour modifier la priorité comme vous le souhaitez. Cliquez sur Enregistrer .
Limitation du nombre de files d'attente auxquelles les moteurs peuvent être affectés
Vous pouvez afficher les files d'attente auxquelles vos moteurs FME sont affectés sur leAperçuouFiles d'attenteonglet de la page Gestion du moteur. Vous constaterez peut-être que certains moteurs supportent une charge de file d'attente plus lourde que d'autres en fonction de la configuration actuelle de vos règles d'attribution de moteur. Pour redistribuer cette charge, vous pouvez définir une limite sur le nombre de files d'attente auxquelles les moteurs peuvent être affectés.
Dans l'onglet Règles d'attribution du moteur, cliquez surDéfinir une limite. Dans la boîte de dialogue Limite de file d'attente par moteur, déplacez leFiles d'attente illimitées curseur vers la gauche, spécifiez leNombre maximal de files d'attente par moteur, et cliquezD'ACCORD.
Modification des files d'attente
Ouvrez leFiles d'attente onglet et cliquez sur la file d'attente que vous souhaitez modifier. Dans le volet de droite, cliquez sur l’icône d’édition (en haut à droite).
Règles d'édition
Ouvrez leRègles de routage des tâches, ouRègles d'attribution des moteurs onglet, en fonction de ce que vous souhaitez modifier. Cliquez sur une règle pour la modifier.
Activation et désactivation des règles
Ouvrez leRègles de routage des tâches ouRègles d'attribution des moteurs onglet, en fonction de ce que vous souhaitez modifier. Sélectionnez une ou plusieurs règles, cliquez surActes, et sélectionnezActiverouDésactiver.
Lorsqu'une règle de routage de tâches est désactivée, les tâches qui seraient autrement acheminées vers une file d'attente basée sur la règle sont plutôt acheminées vers la règle applicable suivante, par priorité (voirPriorisation des règles de routage des tâches, au-dessus de). Si aucune autre règle ne s'applique, les tâches sont acheminées vers la file d'attente par défaut.
Lorsqu'une règle d'affectation de moteur est désactivée, les tâches qui seraient autrement acheminées vers les moteurs en fonction de cette règle sont acheminées vers la file d'attente par défaut.
Suppression des files d'attente
Ouvrez leFiles d'attente languette. Sélectionnez la file d’attente que vous souhaitez supprimer. Retirer. Dans le volet de droite, cliquez sur l’icône Supprimer (en haut à droite).
Suppression des règles
Ouvrez leRègles de routage des tâches,ouRègles d'attribution des moteurs onglet, en fonction de ce que vous souhaitez supprimer. Sélectionnez une ou plusieurs règles, cliquez surActes, et sélectionnezRetirer.