Travaux asynchrones

Le sous-système de travaux asynchrones de M3 dispose de divers travaux prédéfinis, exécutés selon les paramètres définis dans les programmes de maintenance du sous-système décrits dans ce document. Les travaux prédéfinis peuvent être utilisés pour réaliser les opérations suivantes :

  • Affectation des lignes de commande
  • Reprogrammation des ordres de fabrication
  • Traitement et impression des listes de prélèvement
  • Impression des confirmations de commande
  • Lancement des emplacements de stock
  • Mise à jour de l'historique des transactions

Les unités de travail (par ex. les enregistrements à traiter), sont stockées dans les files d'attente des tables de travail jusqu'à ce qu'elles soient traitées par le travail asynchrone correspondant.

Les travaux asynchrones s'arrêtent automatiquement au bout de 24 heures, mais de nouvelles instances de ces travaux démarrent si nécessaire.

Modes d'exécution

Deux modes d'exécution existent pour les travaux asynchrones : Classique ou File d'attente en mémoire (In-Memory Queue/IMQ) qui diffère du processus de mise en file d'attente. Ces modes sont précisés pour chaque travail dans le programme 'Travail sous-système. Ouvrir' (MNS051/E).

  • Classique

    Dans ce mode, le travail asynchrone s'exécute dans un thread unique et une seule demande est traitée à la fois selon la méthode FIFO (premier entré, premier sorti). Dans certains travaux asynchrones, plusieurs instances sont créées pour permettre une exécution simultanée. Chacune de ces instances dispose de leur propre thread.

    Par défaut, l'exécution des travaux asynchrones intervient en mode Classique et les utilisateurs peuvent, à leur discrétion, changer de mode et opter pour le mode IMQ.

    Par exemple, lors de la saisie de commandes de vente, des enregistrements sont créés et stockés dans la table de travail. Le travail asynchrone contrôle la table de travail et traite les enregistrements en continu. La fonction de travail asynchrone de M3 Business Engine vous permet d'exécuter des travaux en parallèle d'une table de travail pour accélérer le traitement de la file d'attente. Il est également possible de définir des priorités dans 'Travail de sous-système. Sélect enreg' (MNS052).

  • IMQ

    Dans ce mode, le travail asynchrone crée automatiquement plusieurs threads pour traiter les enregistrements en fonction de la taille de la file d'attente. Il permet d'exécuter simultanément des unités de travail et améliore la réactivité des travaux asynchrones lors du traitement des demandes. Les instances supplémentaires du travail ne seront pas exécutées si l'instance standard de ce dernier est exécutée en mode IMQ.

    Si le mode d'exécution choisi est le mode IMQ, les champs sont également indiqués dans (MNS051). Les champs suivants sont gérés par Infor et ne peuvent pas être modifiés par les utilisateurs :
    Champ Ce champ indique...
    Programme IMQ ... le programme en cours d'exécution lorsqu'un travail asynchrone est en mode IMQ.
    Taille mx f att ... le nombre d'enregistrements à distribuer aux utilisateurs.
    Max clients ... le nombre maximal de threads parallèles qui traitent les travaux en file d'attente.

    Par exemple, si des rôles ont été attribués à des utilisateurs dans le programme 'Rôles par utilisateur. Connecter' (MNS410), les enregistrements sont alors inscrits dans la table de travail. Le travail asynchrone crée ensuite plusieurs threads parallèles du travail en fonction de la taille des enregistrements à traiter comme indiqué dans le diagramme. Une fois toutes les unités de travail traitées par un thread, le travail prend automatiquement fin.

    Le mode IMQ ne s'applique pas à tous les travaux asynchrones. Le mode IMQ est limité car il ne peut être exécuté que dans une seule et unique configuration de marché. Il n'est donc pas appliqué si le travail présente des sélections dans (MNS052) pour au moins l'une de ses instances. Le travail asynchrone est toujours exécuté en mode Classique même s'il est déclaré en mode IMQ dans (MNS051).

Contrôle du sous-système

Les travaux asynchrones ont les propriétés suivantes :

  • Début du travail – Les travaux asynchrones se lancent automatiquement à chaque démarrage du sous-système. Lorsque le sous-système est en cours d'exécution, la fonction de travaux asynchrones est active et fonctionne comme décrit dans la figure ci-dessus.
  • Sous-système inactif – Même lorsque le sous-système est inactif, les enregistrements pertinents sont écrits dans les tables de travail. Tous les enregistrements sont traités au prochain démarrage des travaux asynchrones. Les enregistrements sont triés selon la méthode premier entré, premier sorti. Notez toutefois que lorsque le sous-système est arrêté, il se peut que certaines données (ex. : disponible à la vente) ne soient pas complètement à jour.