Accueil Blog (en) Activation du traitement parallèle sur les écrans de traitement Acumatica

Activation du traitement parallèle sur les écrans de traitement Acumatica

Kyle Vanderstoep | 31 octobre 2021

Activation du traitement parallèle sur les écrans de traitement Acumatica

Acumatica, positionné comme un ERP du marché intermédiaire (Enterprise Resource Planning), peut être déployé pour une grande variété d’entreprises - grandes, moyennes ou petites. Au fur et à mesure que les entreprises connaissent une croissance, la quantité de données dont elles ont besoin pour gérer augmente.  Cependant, d’après mon expérience dans le développement de code personnalisé sur la plate-forme Acumatica, je trouve qu’un nombre important d’organisations avec lesquelles je travaille sont au-dessus de leur poids lorsqu’il s’agit de gérer et de traiter des données.

Acumatica dispose d’une grande variété d’écrans de traitement pour effectuer diverses tâches « en masse », et dispose en outre d’un cadre robuste mais facile à suivre pour la mise en œuvre de vos propres écrans de traitement. Cependant, les enregistrements sont traités de manière séquentielle (1,2,3, etc.). Heureusement, il est possible d’activer un traitement parallèle pour les clients ayant des exigences importantes en matière de traitement des données.

Le traitement parallèle tire parti du fait que les applications peuvent utiliser plus d’un thread de traitement à la fois. Pensez à l’époque précédant les ordinateurs, où les commis traitaient manuellement les transactions à la main. Comment avez-vous accéléré le nombre de transactions que vous pouvez enregistrer? Soit vous recherchez haut et bas pour le commis de merveille qui est super-rapide, ou vous embauchez simplement plus de commis et répartissez le travail également entre eux. Acumatica peut être configuré de la même manière.

Pour activer le traitement parallèle, vous devez ajouter les clés suivantes au fichier web.config sous le nœud Configuration/Appsettings :

GIST: https://gist.github.com/lekker-solutions/320b32b5eeb15e36ce29957095862b3d

Pour tester cela, ajoutons ces clés au fichier web.config et créons un écran de traitement de base qui traite une liste d’enregistrements :

GIST : https://gist.github.com/lekker-solutions/46b8a010c4ceae41bea63707b8e9ba22

Activation du traitement parallèle sur les écrans de traitement Acumatica

Même si nous avons ajouté les touches, l’écran de traitement renvoie toujours toute la liste des lots GL lorsque « Traiter tout » est sélectionné.

Activation du traitement parallèle sur les écrans de traitement Acumatica

Cela est dû au fait que les clés ne définissent qu’une règle globale sur le traitement. Il doit toujours être activé sur votre écran personnalisé lui-même. Le code ci-dessous montre comment :

GIST : https://gist.github.com/lekker-solutions/33552d7e645905d0a995a9df7f56db49

Essayons maintenant le processus le bouton tout:

Activation du traitement parallèle sur les écrans de traitement Acumatica

Lorsque vous regardez le résultat de l’écran de traitement, vous pouvez voir que tous les enregistrements ont été traités même si ce thread que nous avons attrapé n’en a vu que 10:

Activation du traitement parallèle sur les écrans de traitement Acumatica

Voici un diagramme illustrant la différence entre les deux, et où le point d’arrêt est pris dans le code:

Activation du traitement parallèle sur les écrans de traitement Acumatica

Au cours du traitement séquentiel, le fil (alias le commis) a vu toute la liste des éléments à traiter. Dans le traitement parallèle, le thread n’a vu que le nombre maximal d’éléments (spécifié à un niveau maximum dans le fichier web.config et en outre dans les options de traitement parallèle au niveau de l’écran).

Le traitement parallèle, bien qu’il ne s’agit pas d’une solution miracle, peut augmenter considérablement la capacité de traitement des utilisateurs d’Acumatica travaillant avec de grandes quantités de données. Avec seulement quelques modifications apportées au fichier web.config , vous pouvez facilement l’activer à la fois sur le code ERP de base et votre code personnalisé. Il n’est pas nécessaire de gérer vos propres fils et les autres complexités qui l’accompagnent.

J’espère que cet article vous aidera avec le volume de traitement des données qui ne cesse d’augmenter à un rythme de plus en plus rapide dans ce monde en transformation numérique.

Bon codage!

 

 

Auteur du blog

Kyle interagit avec les systèmes ERP depuis son plus jeune âge. Sa première allocation est venue de tester les personnalisations de son père sur la plate-forme MAS 500. Kyle a étudié et travaillé dans le domaine du génie mécanique pendant près d’une décennie et a réalisé que revenir aux logiciels serait le meilleur plan d’action. Une demande de création de personnalisations de base pour un futur utilisateur d’Acumatica dans la région de la baie a accroché Kyle à la plate-forme xRP d’Acumatica. Depuis lors, c’est son seul objectif. Kyle se développe également de manière indépendante avec des partenaires tels que Nims & Associates, un VAR local de la région de la baie. À ce titre, il a développé et configuré d’importantes intégrations verticales pour les utilisateurs finaux d’Acumatica, dans un large éventail d’industries allant des tests génétiques aux contrats de cautionnement et aux services d’assurance. Dans ses temps libres, Kyle aime la course sur sentier, le ski alpinisme et la chasse.

Recevez des mises à jour de blog dans votre boîte de réception.