Reinicio automático de node.js con supervisor

Supervisor

Supervisor

Una de las cosas que nos detienen un poco al momento de escribir aplicaciones en node, es tener que compilar nuestro código cada vez que hacemos un cambio.. para esto compilar significa reiniciar el servidor tras cualquier cambio en el backend..

Segun dicen por ahí nodemon permite evitar ese tedioso procedimiento.. pero en algunos casos suele fallar y se interrumpe su ejecución.. lo que lleva a nuestro servidor a detenerse.. plop lamentable, porque es necesario iniciarlo nuevamente..

En mi búsqueda de una alternativa fue que encontré “Supervisor”, que muy similar a nodemon reinicia la aplicación ante cualquier cambio, con la ventaja de que al ocurrir cualquier error en nuestro código, el servidor continua su ejecución.

Instalarlo es sumamente fácil.. desde el manejador de paquetes de node (Node Package Manager)

npm install -g supervisor

Una forma recomendable de instalarlo es con el parámetro -g (global) .. y seguramente necesitarán permisos de super-usuario si están en linux o ambientes similares..

Para utilizarlo, es exactamente igual que nodemon o el mismo node, haciendo..

supervisor app.js
 
DEBUG: Running node-supervisor with
DEBUG:   program 'server.js'
DEBUG:   --watch '.'
DEBUG:   --extensions 'node|js'
DEBUG:   --exec 'node'
 
DEBUG: Starting child process with 'node app.js'
DEBUG: Watching directory '/home/jack/tutorials/node-supervisor.' for changes.

Ahora la prueba, si cambiamos algo en uno de nuestros archivos .js veremos que el módulo detecta el cambio y reinicia la aplicación.. bueno algo como esto!

DEBUG: crashing child
DEBUG: Starting child process with 'node app.js'

También si en alguno de nuestros cambios se produce un error, supervisor nos avisará en la consola y mantendrá el servidor siempre despierto 🙂

Co-fundador de Qbit Mexhico, usuario de linux, Developer en tecnologías web.. Nicaragüense, centro en basketball, primer centro en rugby y pintor los fines de semana. Ortögrafo y ambientalista psicológico (de escritorio).. ese soy yo!

Si te ha servido compártelo y difunde nuestro blog..

Facebook Twitter LinkedIn Google+ Flickr YouTube Skype 

Compartir en...Tweet about this on TwitterPin on Pinterest0Share on LinkedIn0Share on Google+0Share on Facebook0