NodeJS y Forever (monitoreo y reinicio de la aplicación)

Estoy tratando de configurar forever y NodeJS para monitorear y reiniciar mi aplicación y también para que siga funcionando cuando salga. Actualmente tengo esto:

 var forever = require("forever-monitor"); var child = new(forever.Monitor)('main.js', { 'silent': false, 'pidFile': '../pids/app.pid', 'sourceDir': '.', 'watch': true, 'watchDirectory': '.', 'watchIgnoreDotFiles': null, 'watchIgnorePatterns': null, 'logFile': '../logs/forever.log', 'outFile': '../logs/forever.out', 'errFile': '../logs/forever.err' }); child.start(); 

Lo que inicia mi aplicación muy bien, pero no la reinicia cuando hago cambios en el archivo. ¿Hay alguna opción que me esté perdiendo?

EDITAR: Después de investigar el problema, descubrí que el cambio de archivo se detectó en realidad, es solo que el proceso no se ha reiniciado. Estoy mirando la línea ~ 317 – Monitor.prototype.kill (en monitor.js) pero todo parece que debería funcionar.

EDIT: me las arreglé para solucionar el problema. Es un error en el código de la biblioteca. Consulte aquí: https://github.com/nodejitsu/forever-monitor/issues/27

nodemon y para siempre son una pena correr consistentemente. Yo intentaría usar un script de shell primero. Si está en Linux, simplemente coloque un archivo de modo de monitor en /etc/cron.d

 */1 * * * * root /var/www/nodejs/monitornode.sh 

y tener un script en algún lugar de su máquina

Intenta esto si estás empezando, crea un archivo /var/www/nodejs/monitornode.sh y chmod + x:

 #!/bin/sh TT_NODE="node /var/www/nodejs/node.js" # NODEJS Watcher if [ -z `pgrep -f -x "$TT_NODE"` ] then echo "Starting $TT_NODE." cmdNODE="$TT_NODE >> /var/www/logs/node.log &" eval $cmdNODE fi 

Echa un vistazo al paquete nodemon para hacer todo el asunto “recargar en cambio de archivo”.

Intereting Posts