Rappel
Nodejs est disponible en open source sur l’IBMi, vous pouvez l’installer à partir de l’option de ACS :
Outils / Gestion des modules open source
Pour savoir si le produit est installé sur votre machine vous devez taper :
/QOpenSys/pkgs/bin/node -v
Si NODEJS est installé vous aurez la version installée qui s’affiche
Pour lancer une session nodejs, vous devez indiquer l’adresse ip et le port d’écoute
webserver.listen(port, ip)
L’astuce qui va vous simplifier la vie c’est de passer le port en paramètre, ce qui vous permettra de lancer plusieurs sessions du même script.
Pour lancer votre session Nodejs avec votre script vous devez passer la commande suivante :
/QOpenSys/pkgs/bin/node votrescripte.js votreport
Pour réaliser ceci, un script Nodejs reçoit un tableau d’argument
0 = node
1 = votre script
2 = premier paramètre dans votre cas le port
Pour le récupérer dans votre script vous devez indiquer
port = process.argv[2] ;
Vous pouvez lancer autant de scripts que vous le voulez en gérant le port à chaque lancement !
Quand vous soumettez une session nodejs, il lance plusieurs travaux
NODE2999 QSECOFR BATCH ACTIF
QP0ZSPWT QSECOFR BATCHI ACTIF
QZSHSH QSECOFR BATCHI ACTIF
Le plus simple serait donc de tout isoler dans un sous système pour gérer, les sessions, le démarrage et l’arrêt de l’environnement
Nous avons réalisé une console qui permet de gérer tous ces aspects, vous pouvez trouver le source de cette console à l’adresse suivante :
https://github.com/Plberthoin/PLB/tree/master/GNODE
Avec SQL Service vous pouvez administrer ces sessions
SELECT
* FROM TABLE(QSYS2.ACTIVE_JOB_INFO( JOB_NAME_FILTER => ‘xxx*’,
SUBSYSTEM_LIST_FILTER => ‘yyy’)) X
where job_type = ‘SBS’
xxx racine des travaux soumis
yyy sous-système de votre environnement
Ci dessous quelques site web qui peuvent vous aider .
https://www.ibm.com/developerworks/ibmi/library/i-running-node-js-web-app-trs/index.html
https://www.ibm.com/support/pages/node/1127733
https://developer.ibm.com/components/ibm-i/articles/i-native-js-app-ibmi-with-nodejs/