2012-02-20 10 views
9

¿Cómo puedo crear una aplicación que pueda reiniciarse? Quiero crear una aplicación que configure un administrador web que pueda reiniciarse. es posible? ¿Si es así, cómo? Estaba pensando que esto podría ser posible con el módulo de proceso que está integrado en el nodo.aplicación node.js que puede reiniciarse a sí misma

+0

Varios módulos de https://github.com/joyent/node/wiki/modules# Reclamo de wiki-build-and-deployment para que sea fácil. – sarnold

Respuesta

11

He corrido Forever varias veces y es fácil comenzar. Échale un vistazo a: https://github.com/nodejitsu/forever

+0

No veo dónde puede reiniciar manualmente por siempre – LordZardeck

+0

@Lord: preste especial atención a los comandos 'restart' y' restartall' – sarnold

+0

eh, esos no t en el léame. Estoy tratando de instalarlo ahora mismo, pero tengo algunos problemas en Windows. http://stackoverflow.com/questions/9366916/cant-install-forever-on- windows – LordZardeck

4

Sé que es un poco tarde para responder, sin embargo, tenía un requisito similar. Quería reiniciar el proceso de mi nodo cada vez que hacía un cambio de configuración. Estoy usando pm2 para administrar los procesos de mi nodo, así que resultó ser muy fácil.

Después de hacer un cambio de configuración, ejecuto process.exit() desde dentro del proceso del nodo. Por lo que puedo ver, el proceso sale y luego pm2 reinicia el proceso bien.

Aún no estoy seguro de si hay algún efecto secundario pero parece estar funcionando bien para mí en este momento.

+0

Esta es la respuesta correcta para mí, también – Antoine

0

Sí, upstart reiniciará su proceso sin un nodemon.

npm install -g nodemon 
sudo nodemon server.js 

nodemon será ver a los archivos en el directorio que nodemon se inició, y si cambian, se reiniciará automáticamente su aplicación nodo.

4

LK "I

Es posible sin dependencias externas:

console.log("This is pid " + process.pid); 
setTimeout(function() { 
    process.on("exit", function() { 
     require("child_process").spawn(process.argv.shift(), process.argv, { 
      cwd: process.cwd(), 
      detached : true, 
      stdio: "inherit" 
     }); 
    }); 
    process.exit(); 
}, 5000); 

fuente: https://gist.github.com/silverwind/d0802f7a919ae86ff25e

Cuestiones relacionadas