Pascal_Osthus-bugat_1753

Comment démarrer l'agent AS400, avec STRUCAGENT ou avec UCEX_RUN?

Discussion created by Pascal_Osthus-bugat_1753 on Oct 30, 2016
Nous recommandons de contrôler le processus de l'agent AS400 avec les programmes UCEX_END et UCEX_RUN. STRUCAGENT est la commande par défaut que met AUTOMIC à disposition pour démarrer l'agent. Elle est facile d'utilisation et est immédiatement utilisable, mais a le désavantage de soumettre le processus de l'agent dans la Jobqueue QBATCH du sous-système QBATCH. L'agent demeurera ensuite en permanence dans cette Jobqueue. Or, la Jobqueue QBATCH est bridée à au maximum une seule exécution de Job en parallèle. De ce fait, si l'agent s'exécutent dans QBATCH,  tous les traitements soumis en mode batch, y compris les jobs lancés par l'agent AS400 lui-même, resteront bloqués et s'empileront en continue et ne seront jamais exécutés par le système!!

Ceci peut devenir un problème, dans le cas ou d'autres applications doivent utiliser cette Jobqueue. Leur fonctionnement en sera perturbé voir impossible.

Afin d'éviter toute interférence indésirable avec toute autre application, nous recommandons de renoncer à l'utilisation de STRUCAGENT au profit de UCEX_RUN. UCEX_RUN permet de paramétrer la commande de lancement de l'agent de telle sorte que ce dernier soit lancé dans la Jobqueue QSYSNOMAX, qui ne connait aucune limitation en terme de jobs lancés en parallèle.

Une fois ce CLP compilé après les ajustements nécessaires, il sera prêt à l'utilisation pour démarrer l'agent AS400. Ce dernier sera exécuté dans QSYS/QSYSNOMAX et bloquera plus les processus lancés en mode batch.

Si pour une raison ou une autre, l'utilisation de UCEX_RUN pour contrôler l'agent n'était pas possible, et que l'agent réside dans la jobqueue QBATCH, le contournement consistera à forcer les traitements lancés par l'agent AS400 à s'exécuter dans une autre Jobqueue. A ce sujet, voici un exemple ou le job sera soumis dans la jobqueue QSYS/QSYSNOMAX:

cx503r1g8jrn.png


Outcomes