, , Comment administrer vos sessions NODEJS

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 scripte.

Pour lancer votre session nodejs avec votre scripte vous devez passer la commande suivante :

/QOpenSys/pkgs/bin/node votrescripte.js votreport

Pour réaliser ceci un scripte nodejs recoit un tableau d’argument
0 = node
1 = votre scripte
2 = premier paramètre dans votre cas le port

Pour le récupérer dans votre scripte vous devez indiquer

port = process.argv[2] ;

Vous pouvez lancer autant de scripte 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 ses 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.htmlhttps://www.ibm.com/support/pages/node/1127733https://developer.ibm.com/components/ibm-i/articles/i-native-js-app-ibmi-with-nodejs/