dimanche 11 mars 2012

module forever de #node.js: pour une production sure

Dans un post précédent j'ai évoqué le fonctionnement de Node.js. Il existe un module appelé 'forever' qui industrialise le lancement de script javascript pour Node.js.
L'installation se fait comme d'habitude par la commande

sudo npm -g install forever

Le résultat doit etre:


/usr/local/lib/node_modules/forever
├── pkginfo@0.2.3
├── timespan@2.0.1
├── watch@0.5.0
├── microtime@0.2.0
├── daemon@0.4.1
├── node-fork@0.4.2
├── nssocket@0.3.7 (eventemitter2@0.4.8 lazy@1.0.8)
├── cliff@0.1.7 (colors@0.6.0-1 eyes@0.1.7)
├── portfinder@0.2.1 (mkdirp@0.0.7)
├── optimist@0.2.8 (wordwrap@0.0.2)
├── broadway@0.1.13 (colors@0.6.0-1 eventemitter2@0.4.8 optimist@0.3.1)
├── minimatch@0.0.5 (lru-cache@1.0.5)
├── utile@0.0.10 (async@0.1.18 mkdirp@0.3.0 rimraf@1.0.9 ncp@0.2.5)
├── flatiron@0.1.14 (director@1.0.9-1 optimist@0.3.1 prompt@0.1.12)
├── nconf@0.5.1 (async@0.1.18 ini@1.0.2 optimist@0.3.1)
├── ps-tree@0.0.2 (parse-table@0.0.0)
└── winston@0.5.10



Le lancement d'un programme par forever est très simple :

forever start 'monprogramme.js'


Exemple :(commande start et list)

 forever start cluster1.js

info:   Forever processing file: cluster1.js

german@german-1001PX:~$

german@german-1001PX:~$ forever list

info:   Forever processes running

data:       uid  command script      forever pid  logfile                        uptime     

data:   [0] YJVa node    cluster1.js 2857    2858 /home/german/.forever/YJVa.log 0:0:0:7.882


Si le programme lancé par forever vient à tomber, il  sera relancer automatiquement.
Forever est lui même en mode daemon (on peut fermer son terminal de lancement) 

L'aide sur forever est la suivante:

L'article http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever et le site de forever complètent mon propos.
Sur stackoverflow : un exemple d'usage de forever à l'intérieur d'un programme.

Aucun commentaire: