Séparation de la charge de travail pour les agents de file d'attente

En règle générale, les travaux placés en premier dans la file d'attente de tâches sont traités en premier. Chaque travail de la file d'attente de tâches pour une transaction a une charge de travail différente. Certains travaux ont une charge de travail supérieure à celle des autres travaux. Par exemple, la charge de travail pour planifier une commande avec 3000 lignes est énorme par rapport à la commande avec 10 lignes. Si les deux types de commande sont traités dans une seule instance d'agent, les commandes comportant un grand nombre de lignes peuvent réduire le débit global et avoir un impact sur le débit de commande normal car ces commandes ne sont traitées qu'après le traitement d'une commande volumineuse. De même, chaque travail d'une transaction ne nécessite pas le même quantum de ressources, telles que la mémoire, l'unité centrale et les E-S à traiter, peut ne pas subir le même flux de processus, comme les validations de pipeline, de commande ou de ligne, et peut ne pas être configuré pour démarrer les mêmes composants, tels que les gestionnaires d'événements et les exits utilisateur. Il est préférable que ces travaux avec une charge de travail différente et des flux métier différents soient traités dans des machines virtuelles Java distinctes afin que vous puissiez définir les priorités d'un ou de plusieurs de ces groupes parmi d'autres et augmenter individuellement les puissances de traitement.

IBM Sterling® Order Management Système permet de séparer la charge de travail des agents de la file d'attente des tâches et de créer des travaux avec différents modèles de séparation. Vous pouvez placer ces modèles de ségrégation en tant que filtre dans les critères d'agent des agents de file d'attente de tâches pour traiter les travaux correspondants. Comme la séparation de la charge de travail est accessible à l'aide de critères d'agent, elle offre la souplesse nécessaire pour hiérarchiser et exécuter un type spécifique de charge de travail avec la capacité requise pour augmenter le traitement de l'agent pour chaque charge de travail.

Les agents de file d'attente de tâches extraient les travaux de la table YFS_Task_Q en fonction de la transaction de l'agent et des spécifications de critères d'entrée de l'agent. Un agent de file d'attente de tâches recherche des travaux pour une transaction et un type de données particuliers. Par exemple, les agents définis pour la transaction SCHEDULE.0001 recherchent toujours SCHEDULE.0001 et OrderHeaderKey comme transaction_key et data_type. Vous pouvez spécifier des filtres supplémentaires pour extraire les travaux en tant que paramètres de critères d'agent. Le paramètre Task Queue Filter Criteria est disponible dans les critères de l'agent pour tous les agents de file d'attente de tâches. La table YFS_Task_Q contient une colonne FILTER_CRITERIA et les valeurs définies pour le paramètre Task Queue Filter Criteria sont comparées à FILTER_CRITERIA dans la table YFS_Task_Q avec transaction_key et data_type. FILTER_CRITERIA est défini lorsqu'un travail est créé dans la table YFS_Task_Q et peut rester le même pendant toute la durée de vie du travail. Mais si vous devez réévaluer le site FILTER_CRITERIA pour un travail existant pour certaines transactions au cours du processus d'exécution, des configurations sont fournies dans Sterling™ Order Management System. Le FILTER_CRITERIA est affecté avec le modèle de ségrégation dérivé pour des données individuelles lors de l'évaluation de la règle de ségrégation configurée pour le type de données dans Sterling Order Management System.

Les configurations permettant d'activer la séparation de la charge de travail, les différentes configurations de règles de séparation, les types de données pris en charge pour la séparation de la charge de travail et les transactions prenant en charge cette séparation sont expliquées dans cette documentation.

Outre la spécification du paramètre Task Queue Filter Criteria , une exécution séparée pour les agents de file d'attente de tâches est également effectuée par une propriété système Java ou en tant qu'argument lors du démarrage du serveur d'agents avec lequel les agents de file d'attente de tâches sont enregistrés.

Configurations pour activer la fonction de séparation des charges de travail

Vous pouvez utiliser les propriétés suivantes pour activer ou désactiver la fonction de répartition de la charge de travail pour les agents de file d'attente de tâches.
nom de propriété yfs Les valeur valides Valeur par défaut
yfs.taskq.filter.criteria.create.enable

Oui

Non

Oui
yfs.taskq.filter.criteria.update.enable

Oui

Non

Non

La configuration par défaut du systèmeIBM Sterling Order Management System détermine la valeur de la colonne FILTER_CRITERIA de la table YFS_Task_Q, en fonction de la politique de séparation et de l'état actuel de l'entité de travail lors de la création d'un travail. Cette valeur n'est pas mise à jour lorsque des transactions ultérieures modifient ce travail. Toutefois, dans Sterling Order Management System, certaines transactions métier suppriment le travail en cours et créent un travail pour les transactions en cours au lieu de modifier le travail en cours. Dans ce scénario, la colonne FILTER_CRITERIA est dérivée pour le nouveau travail en réévaluant la règle de séparation pour l'état en cours de l'entité de travail et sa valeur peut donc être différente de la valeur précédente.

IBM vous recommande d'évaluer vos flux métier et les modifications correspondantes apportées aux travaux. Si la réévaluation convient mieux à la colonne FILTER_CRITERIA utilisée, vous pouvez définir la propriété yfs.taskq.filter.criteria.update.enable=true. Lorsque cette propriété est définie sur true, la valeur FILTER_CRITERIA est dérivée chaque fois qu'un travail est créé ou mis à jour. Si vous définissez les deux propriétés sur false, Sterling Order Management System ne dévie pas FILTER_CRITERIA et par conséquent, cette action désactive la fonction de séparation de la charge de travail pour les agents de file d'attente de tâches.

Ces propriétés déterminent uniquement s'il convient de dériver le modèle de ségrégation et de l'affecter en tant que FILTER_CRITERIA.