Accueil Blog 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 de milieu de gamme, peut être déployé pour une grande variété d'entreprises - grandes, moyennes ou petites. Au fur et à mesure que les entreprises se développent, la quantité de données qu'elles doivent gérer augmente. Cependant, dans mon expérience de développement de codes personnalisés sur la plateforme Acumatica, je constate qu'un nombre significatif d'organisations avec lesquelles je travaille sont trop exigeantes en matière de gestion et de traitement 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 mettre en œuvre 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 le traitement parallèle pour les clients ayant des besoins importants en matière de traitement des données.

Le traitement parallèle tire parti du fait que les applications peuvent utiliser plus d'un fil de traitement à la fois. Pensez à l'époque où, avant les ordinateurs, les employés de bureau traitaient les transactions à la main. Comment accélérer le nombre de transactions que vous pouvez enregistrer ? Soit vous cherchiez à tout prix l'employé extraordinaire qui est super rapide, soit vous engagiez simplement plus d'employés et vous répartissiez le travail de manière égale 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

Bien que nous ayons ajouté les clés, l'écran de traitement renvoie toujours la liste complète des lots GL lorsque l'option "Traiter tout" est sélectionnée.

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 pour le traitement. Elle doit encore être activée sur votre écran personnalisé lui-même. Le code ci-dessous montre comment procéder :

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

Essayons maintenant de traiter 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 le 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 l'endroit où le point d'arrêt est pris dans le code :

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

Lors d'un traitement séquentiel, le thread (alias le clerk) voit la liste complète des éléments à traiter. Dans le traitement parallèle, le thread ne voit que le nombre maximum d'éléments (spécifié au niveau max dans le fichier web.config et en plus dans les options de traitement parallèle au niveau de l'écran).

Le traitement parallèle, bien qu'il ne soit pas une solution miracle, peut augmenter de manière significative la capacité de traitement des utilisateurs d'Acumatica travaillant avec de grandes quantités de données. Avec seulement quelques changements dans le fichier web.config, vous pouvez facilement l'activer à la fois dans le code de base de l'ERP et dans votre code personnalisé. Il n'est pas nécessaire de gérer vos propres threads et les autres complexités qui en découlent.

J'espère que cet article vous aidera à faire face au volume de traitement des données qui augmente de plus en plus rapidement dans ce monde en pleine transformation numérique.

Bon codage !

 

 

Auteur du blog

Kyle interagit avec les systèmes ERP depuis son plus jeune âge. Il a reçu sa première allocation en testant les personnalisations de son père sur la plateforme MAS 500. Kyle a étudié et travaillé dans le domaine de l'ingénierie mécanique pendant près de dix ans et s'est rendu compte qu'un retour aux logiciels serait la meilleure chose à faire. Une demande de création de quelques personnalisations de base pour un futur utilisateur d'Acumatica dans la région de la Baie l'a amené à s'intéresser à la plateforme xRP d'Acumatica. Depuis lors, il ne s'intéresse plus qu'à cette plateforme. Kyle développe de manière indépendante ainsi qu'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 garanties contractuelles et aux services d'assurance. Pendant son temps libre, Kyle pratique la course à pied, le ski alpinisme et la chasse.

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