Tous les produits
Search
Centre de documentation

Microservices Engine:File d'attente prioritaire pour la limitation au niveau de l'application

Dernière mise à jour :Aug 11, 2026

L'ordonnancement des tâches propose deux stratégies de limitation applicative : activer la limitation avec une taille de file d'attente adaptée, ou configurer une file d'attente prioritaire avec préemption. Ces mécanismes garantissent la stabilité du système d'ordonnancement et l'exécution rapide des tâches critiques. Cette rubrique explique comment gérer efficacement les ressources applicatives et ordonnancer les tâches par ordre de priorité.

Cas d'utilisation

Les systèmes d'ordonnancement subissent une forte pression lors des pics de trafic soudains. Par exemple, si de nombreuses tâches quotidiennes démarrent simultanément, la charge concurrentielle peut saturer le backend en l'absence de contrôle approprié. Pour y remédier, SchedulerX intègre un mécanisme de file d'attente qui limite le nombre maximal d'instances de tâches exécutées simultanément au sein d'une application. En mettant les tâches en file d'attente et en les distribuant séquentiellement, ce mécanisme assure la stabilité de l'application et optimise l'utilisation des ressources.

Configuration

Activer la limitation et définir une taille de file d'attente

  1. Lors de la création ou de la modification d'un groupe d'applications, activez l'option Flow Control dans la section advanced configuration. Cette option est désactivée par défaut. Pour plus d'informations sur la création d'un groupe d'applications, consultez la rubrique Créer un groupe d'applications.

    Une fois la limitation activée, définissez le paramètre Number of concurrent task instances. Ce paramètre spécifie le nombre maximal d'instances de tâches pouvant s'exécuter simultanément pour l'application. Si le nombre d'instances soumises dépasse cette limite, les instances excédentaires sont placées en file d'attente pour une exécution ultérieure.

  2. Créez trois tâches dans le groupe d'applications, puis cliquez sur Run once dans la colonne Actions pour chaque tâche.

  3. Dans le volet de navigation de gauche, cliquez sur Execution List. Sous l'onglet Task instance List, vous constatez que la première tâche déclenchée, hello_jobA, est en cours d'exécution, tandis que hello_jobB et hello_jobC attendent dans la file d'attente.

  4. Une fois hello_jobA exécutée avec succès, hello_jobB commence à s'exécuter.

Configurer une file d'attente prioritaire avec préemption

Les systèmes de gestion des ressources tels que YARN (Yet Another Resource Negotiator) utilisent des files d'attente prioritaires pour isoler les ressources destinées aux tâches de différentes priorités.

La procédure suivante montre comment SchedulerX combine la limitation au niveau de l'application avec les priorités des tâches pour mettre en œuvre une file d'attente prioritaire prenant en charge la préemption.

  1. SchedulerX permet d'attribuer une priorité à chaque tâche. Au sein d'une même application, si plusieurs tâches sont planifiées à la même heure, SchedulerX traite d'abord les tâches de priorité plus élevée.

    Sur la page Basic Configuration d'une tâche, sélectionnez une priority dans la liste déroulante : low, medium, high ou very high.

  2. Pour illustrer ce fonctionnement, activez la limitation pour le groupe d'applications dts-all.hxm et définissez le paramètre Number of concurrent task instances sur 1 pour plus de clarté. Créez trois tâches avec des priorités haute, moyenne et basse. Déclenchez ensuite les tâches une fois dans l'ordre suivant : moyenne, basse, puis haute.

  3. Dans le volet de navigation de gauche, cliquez sur Execution List. Sous l'onglet Task instance List, vous constatez que la tâche de priorité moyenne s'exécute immédiatement lors de son déclenchement, car la file d'exécution est vide.

  4. Une fois la tâche de priorité moyenne terminée, un emplacement d'exécution se libère. La tâche de priorité haute prend le pas sur la tâche de priorité basse et s'exécute ensuite.

FAQ

  • Si je définis la priorité de toutes mes tâches sur very high, seront-elles planifiées avant les tâches des autres utilisateurs ?

    La priorité des tâches est un paramètre au niveau de l'application. Elle n'affecte l'ordre d'ordonnancement qu'au sein de la même application et n'influence pas les autres applications.

  • Puis-je utiliser la limitation basée sur la file d'attente pour des tâches qui s'exécutent chaque minute ?

    Cette fonctionnalité est idéale pour les scénarios avec des pics de trafic soudains. Si vous avez un volume élevé de tâches planifiées chaque minute, nous déconseillons l'utilisation de cette fonctionnalité, car elle peut entraîner une croissance indéfinie de la file d'attente. Dans ce cas, envisagez d'implémenter une limitation au niveau métier sur le client ou d'augmenter les ressources de votre client.