Strategy ONE

Hiérarchiser les tâches

À partir de la version mensuelle de MicroStrategy 2021 Update 6 Juillet, vous pouvez utiliser la priorité de tâche pour définir l'ordre dans lequel les tâches sont traitées. Les tâches sont généralement exécutées selon le principe du premier arrivé, premier servi. Cependant, votre système a probablement certaines tâches qui doivent être traitées avant d’autres tâches.

Les priorités de tâche sont définies sur les sources de données dans un environnement qui détermine si certaines tâches sont soumises à l'entrepôt de données avant d'autres tâches en attente dans la file d'attente pour exécution. Cela n'affecte pas les tâches qui sont en attente d'exécution dans l'entrepôt de données.

Par exemple, un dirigeant de votre entreprise exécute des rapports à des heures non planifiées et vous souhaitez vous assurer que ces rapports sont traités immédiatement. Si aucune priorité n'est définie pour les rapports du dirigeant, ils sont traités avec les autres tâches du système. En fonction de l'activité de l'entrepôt de données, cela peut nécessiter un certain temps d'attente. Si vous attribuez une priorité élevée à toutes les tâches du groupe d'utilisateurs de la direction, Intelligence Server traite et soumet ces tâches à l'entrepôt de données d'abord, au lieu d'attendre la fin des autres tâches.

Intelligence Server traite une tâche sur une connexion de base de données qui correspond à la priorité de la tâche. Si aucune priorité n'est spécifiée pour une tâche, Intelligence Server traite la tâche sur une connexion de faible priorité. Par exemple, les tâches avec une priorité élevée sont traitées par des connexions à priorité élevée et les tâches avec une priorité faible ou nulle sont traitées par une connexion à faible priorité.

L'éditeur de hiérarchisation des tâches permet de gouverner les threads de connexion pour chaque priorité (élevée, moyenne et basse). Par exemple, si le nombre de priorités de tâche définies pour le niveau élevé est de 5, envisagez d'augmenter le nombre de threads de connexion pour le niveau élevé à plus de 5.

Intelligence Server effectue également des emprunts de connexion lors du traitement des tâches. L'emprunt de connexion se produit quand Intelligence Server exécute une tâche sur une connexion de priorité inférieure, car aucune connexion correspondant à la priorité de la tâche n'est disponible au moment de l'exécution. Les tâches à priorité élevée peuvent être exécutées sur des connexions à priorité élevée, moyenne et basse. De même, les tâches de priorité moyenne peuvent s'exécuter sur les connexions de priorité moyenne et basse.

Lorsqu'une tâche est soumise et qu'aucune connexion n'est disponible pour la traiter, que ce soit avec la même priorité ou avec une priorité inférieure, Intelligence Server place la tâche dans la file d'attente et la traite dès qu'une connexion est disponible.

Vous pouvez définir les tâches sur une priorité élevée, moyenne ou basse, par l'une ou plusieurs des variables suivantes :

  • Type de requête Les requêtes de rapport et les requêtes d'élément peuvent avoir des priorités différentes.

  • Type d'application Tâches soumises à partir de différents Strategy applications, telles que Developer, Scheduler, Strategy Web, ou Narrowcast Server, est traité selon la priorité que vous indiquez.

  • Groupe d'utilisateurs Les tâches soumises par les utilisateurs dans les groupes que vous sélectionnez sont traitées selon la priorité que vous indiquez.

  • Projet Les travaux soumis à partir de différents projets sont traités selon la priorité que vous indiquez.

Ces variables vous permettent de créer des règles sophistiquées pour lesquelles les demandes de tâche sont traitées en premier. Par exemple, vous pouvez indiquer que toutes les requêtes d'élément sont de priorité élevée, que toutes les requêtes issues de votre projet de test sont de priorité basse et que toutes les requêtes des utilisateurs dans le groupe Developers sont de priorité moyenne.

Une tâche est traitée avec le niveau de priorité le plus élevé qui lui est assigné par les règles. Par exemple, si vous définissez toutes les tâches de votre projet test sur une priorité basse et toutes les tâches des utilisateurs dans le groupe Developers sur une priorité moyenne, les tâches dans le projet test qui sont demandées par les utilisateurs dans le groupe Developers sont traitées avec une priorité moyenne.

Consultez le tutoriel ci-dessous pour en savoir plus !

Définir la hiérarchisation des tâches

  1. Ouvrez la fenêtre Workstation.
  2. Dans le volet de navigation, sous Administration, cliquez sur Sources de données.
  3. Cliquez avec le bouton droit sur la source de données et choisissez Propriétés.
  4. Dans le volet gauche, cliquez sur Hiérarchisation des tâches.

    Par défaut, une ligne avec une valeur Moyen Priorité de tâche et Tout options pour Type de demande, Type d'application, Groupes d'utilisateurs, et Projets sont sélectionnés.

  5. Modifiez les valeurs par défaut selon vos besoins et définissez Priorité de tâche niveau.

  6. Augmentez le nombre de connexions par priorité en fonction du nombre de priorités de tâche définies pour chaque niveau de priorité.

  7. Cliquez sur OK.

  8. Redémarrez le serveur.

Hiérarchiser les tâches par type de demande

Vous pouvez sélectionner si les requêtes d'élément ou les requêtes de rapport sont traitées en premier. Par exemple, vous souhaitez peut-être que les requêtes d'élément soient soumises à l'entrepôt de données avant les demandes de rapport, car les requêtes d'élément sont généralement utilisées dans les invites et vous ne souhaitez pas que les utilisateurs attendent longtemps pendant le chargement des valeurs d'invite. Dans ce cas, vous pouvez indiquer que toutes les requêtes d'élément doivent être traitées avec une priorité élevée par défaut et que toutes les demandes de rapport doivent être traitées avec une priorité basse par défaut.

Hiérarchiser les tâches par Strategy Type d'application

Vous pouvez attribuer une priorité différente aux tâches soumises par Developer, Strategy Web, Scheduler et Narrowcast Server. Toutes les tâches soumises à partir de l'application spécifiée utilisent la priorité spécifiée. Par exemple, vous souhaitez peut-être que les concepteurs de rapports puissent tester rapidement leurs rapports. Vous pouvez donc indiquer que toutes les tâches soumises par Developer sont traitées avec un niveau de priorité élevé.

Hiérarchiser les tâches par groupe d'utilisateurs

Vous pouvez attribuer une priorité différente aux tâches soumises à partir de différentes Strategy groupes d'utilisateurs. Par exemple, vous pouvez assigner toutes les tâches des utilisateurs dans le groupe d'utilisateurs Executive pour qu'elles soient traitées avec un niveau de priorité élevé.

Hiérarchiser les tâches par projet

Vous pouvez attribuer une priorité différente aux rapports de différents projets. Par exemple, vous souhaitez peut-être que toutes les tâches soumises à partir de votre projet de production aient une priorité moyenne, afin qu'elles aient priorité sur les rapports de votre projet de test.