Altova FlowForce Server 2024 Advanced Edition

Paramètres de la file d’attente

Accueil Préc Haut Suivant

Les paramètres de file d’attente vous permettent de contrôler l’utilisation des ressources de serveur de manière plus efficace. Par exemple, par le biais de la configuration de la file d’attente, vous pouvez limiter le nombre d’instances de tâche exécutées en parallèle à tout moment donné.

 

Une file d’attente d’exécution est un processeur de tâches. Elle contrôle comment les instances de tâches sont exécutées. Pour pouvoir être exécutée, chaque instance de tâche est assignée à une queue d’exécution cible. La queue contrôle combien d’instances de tâches (de toutes les tâches assignées à la queue) peuvent être exécutées à tout moment et le délai entre les exécutions. Par défaut, les paramètres de queue sont locaux à la tâche, mais vous pouvez aussi définir les queues comme objets autonomes partagés par les multiples tâches. Lorsque de multiples tâches sont assignées à la même queue d’exécution, elles partageront cette queue pour l’exécution.

 

Les queues bénéficient du même mécanisme d’accès à la sécurité comme les autres objets de configuration FlowForce Server. Un utilisateur doit avoir le privilège Définir les queues d’exécution afin de créer des queues, voir aussi Comment les privilèges fonctionnent. De plus, les utilisateurs peuvent consulter les queues, ou assigner des tâches aux queues, uniquement s’ils ont des permissions de conteneur appropriées (pas les mêmes que les privilèges), voir aussi Comment les permissions fonctionnent. Par défaut, tout utilisateur authentifié obtient une permission Queue - Use, ce qui signifie qu’il peut assigner des tâches aux queues. Pour restreindre l’accès aux queues, naviguez vers le conteneur là où la queue est définie, et modifiez la permission du conteneur à Queue - No access pour le rôle authenticated. Puis, attribuez la permission Queue - Use à tout rôle ou utilisateur dont vous avez besoin. Pour plus d’information, voir Restreindre l’accès au /Conteneur public.

 

Files d’attente globales vs locales

Vous pouvez créer une file d’attente comme objet autonome (global) ou au sein d’une tâche particulière (locale). Les files d’attente locales ne prennent pas en charge le traitement distribué (clusters). La file d’attente doit être créée comme objet autonome (extérieur à la tâche) afin de pouvoir profiter du traitement distribué. Le traitement distribué est pris en charge dans Advanced Edition. Pour les détails, voir Clusters. Pour toute information liée à la configuration et ce qu’elle implique, voir les sous-sections ci-dessous.

 

Créer des files d’attente globales

Pour créer une copie de l’objet autonome, suivez les étapes suivantes :

 

1.Ouvrir la page de configuration et naviguez vers le conteneur où vous souhaitez créer la file d’attente.

2.Cliquez sur Créer et sélectionnez Créer file d’attente (capture d’écran ci-dessous).

ff_create_queue

3.Saisissez un nom pour la file d'attente et, en option, une description.

4.Configurer les paramètres pertinents. Pour les détails, voir Paramètres queue ci-dessous.

5.Cliquez sur Enregistrer.

 

Paramètres de la file d’attente

Les paramètres de la configuration de la file d’attente sont recensés ci-dessous.

 

Nom de la file d’attente

Un nom qui identifie la file d’attente. Il s’agit d’un champ obligatoire. Il pourrait contenir des caractères de lettres, de chiffres, des espaces uniques et le soulignement (_), dash (-), et le point (.). Il ne doit pas commencer ou terminer par des espaces. Ce champ s’applique uniquement si la file d’attente est définie comme autonome (et non locale).

 

Description de la file d’attente

En option, description pour l’objet de la file d’attente. Ce champ s’applique uniquement si la file d’attente est définie comme autonome (et non locale).

 

Run on (Advanced Edition)

Spécifie comment toutes les instances de tâches de cette file d’attente doivent être exécutées :

 

Maître ou travailleur : Les instances de tâches qui font partie de cette file d’attente seront exécutées sur les appareils maître ou travailleur, dépendant des noyaux du serveur disponibles.

Uniquement maître : Les instances de tâches seront exécutées uniquement sur l’appareil maître.

Tout travailleur uniquement : Les instances de tâches seront exécutées sur tout travailleur disponible, mais jamais sur le maître.

 

Temps minimum entre les exécutions

Une queue d'exécution fournit des créneaux d'exécution, où le nombre de créneaux disponibles est géré par le paramètre instances parallèles maximum multiplié par le nombre de travailleurs attribués conformément à la règle active actuellement. Chaque créneau exécutera des instances de tâche par séquence.

 

Le paramètre Temps minimum entre les marches conserve un créneau marqué en tant qu'occupé pour une période de temps brève une fois qu'une instance de tâche s'est terminée, ce qui a pour conséquence qu'il ne choisira pas l'instance de tâche suivante immédiatement. Cela réduit le débit maximum pour cette queue d'exécution, mais fournit un temps de CPU pour d'autres queues d'exécution et d'autres processus sur le même appareil.

 

Exécutions parallèles maximum

Cette option définit le nombre d’exécutions de slots d’exécutions disponibles dans une file d’attente. Chaque créneau exécute des instances de tâche de manière séquentielle, donc le paramètre détermine combien d’instances de la même tâche peuvent être exécutées en parallèle dans la file d’attente actuelle. Notez, toutefois, que le nombre d’instances auxquelles vous donnez l’autorisation d’être exécutées en parallèle sera en concurrence avec les ressources d’appareils disponibles. Augmenter cette valeur pourrait être acceptable pour les files d’attente qui traitent les tâches « lightweight » qui n’exécutent pas d’opérations intensives I/O ou ont besoin d’un temps CPU significatif. La valeur par défaut (1 instance) est adaptée pour les files d’attente qui traitent les tâches intensives en ressources, pour assurer que seule une des instances de tâche « heavyweight » est traitée à la fois.

 

Cette option n’affecte pas le nombre de requêtes HTTP parallèles maximum acceptées par FlowForce Server (comme celles des clients qui invoquent les tâches exposées comme services Web). Pour les détails, voir Reconfigurer les pool threads FlowForce Server.

 

 

Ensembles multiples de paramètres de queue (Advanced Edition)

Vous pouvez définir des ensembles multiples de paramètres de la file d’attente, chacun avec des exigences de traitement différentes, en cliquant sur le bouton add. Pour changer la priorité d’un ensemble spécifique de paramètres, cliquez sur les boutons Move up up_arrow ou Move down down_arrow. Par exemple, vous pouvez définir une règle dans le cas où seul un maître est disponible et une autre règle dans le cas où les maîtres et les travailleurs sont disponibles. Ceci vous permet de créer un mécanisme de secours pour une file d’attente, dépendant de l’état du cluster à un moment donné. Lorsque FlowForce Server traite les files d’attente, le serveur surveille sans cesse l’état du cluster et sait si un travailleur n’est pas disponible. Donc, si vous avez défini des règles pour les paramètres de la file d’attente multiples, FlowForce Server les évalue selon l’ordre défini, du haut vers le bas, et prend la première règle qui a au moins un membre cluster selon le paramètre Run On. Pour plus d’information sur l’opération dans les modes maître et travailleur, voir Cluster.

 

Exemple (Advanced Edition)

En guise d’exemple, jetons un œil sur une configuration où le cluster inclut un appareil maître et quatre appareils travailleurs. Les paramètres de la file d’attente sont définis tels que ci-dessous :

ff_queue_settings

Avec la configuration illustrée ci-dessus, FlowForce traiterait la file d'attente comme suit, dépendant de l’état actuel du cluster :

 

Si tous les travailleurs sont disponibles, la règle supérieure sera appliquée. Notamment, 16 instances de tâches sont autorisées pour l'exécution simultanée (4 instances pour chaque travailleur). Le temps minimum entre les exécutions est de 0 secondes.

Si uniquement trois travailleurs sont disponibles, la règle supérieure s’appliquera toujours. Notamment, jusqu’à 12 instances de tâche sont autorisées pour l’exécution simultanée, et le temps minimum entre les exécutions est de 0 secondes.

Si aucun travailleur n’est disponible, la deuxième règle sera appliquée. Notamment, jusqu’à 1 instance de tâche est permise pour l’exécution simultanée, et le temps minimum entre les exécutions est de 5 secondes.

 

Ce type d’exécution rend l’exécution encore possible en l’absence de travailleurs. Veuillez noter que la règle « uniquement maître » est plus stricte (1 instance seulement, et 5 secondes de délai entre les exécutions), de manière à ne pas retirer trop de puissance de traitement depuis l’appareil maître lorsque tous les travailleurs échouent.

 

Attribuer des tâches aux files d’attente

Une fois que vous avez configuré la file d’attente, vous allez devoir y attribuer une tâche sur la page de configuration de la tâche. À cette fin, nous appliquons la étapes ci dessous :

 

1.Ouvrez la configuration de la tâche que vous souhaitez attribuer à la file d’attente.

2.Parcourez les paramètres de la file d’attente en bas de la page.

3.Sélectionnez l’option Sélectionner file d’attente existante et fournissez le chemin à l’objet de file d’attente désiré (capture d’écran ci-dessous).

ff_assign_queue

 

Définir des files d’attente locales

En alternative à la création de queues autonomes, vous pouvez définir les paramètres de queue localement à l’intérieur de la tâche. Pour ce faire, sélectionnez l’option Définir la queue locale depuis la page de configuration de la tâche, spécifiez vos préférences de queue. L’image ci-dessous illustre les paramètres de queue par défaut. Avec l’option Définir file d’attente locale sélectionnée, FlowForce Server attribuera, au moment de l’exécution de la tâche, les instances de cette tâche à la file d’attente, avec les paramètres locaux que vous précisez.

ffadv_queue

 

Pour les détails sur les propriétés Temps minimum entre les exécutions et Exécutions parallèles maximum, voir lesParamètres de queue ci-dessus.

 

© 2018-2024 Altova GmbH