Można używać zawsze programowo tak:
Korzystanie wystąpienie Zawsze wewnątrz node.js skryptu:
var forever = require('forever-monitor');
var child = new (forever.Monitor)('your-filename.js', {
max: 3,
silent: true,
options: []
});
child.on('exit', function() {
console.log('your-filename.js has exited after 3 restarts');
});
child.start();
należy wziąć chwilę i przeczytać opcje dostępne w doskonałej dokumentacji na zawsze w the README.md
masz kilka zdarzeń, które można słuchać w Zawsze jak:
- błąd [err]: Wywoływany, gdy wystąpi błąd
- start [proces, fvrFile, data]: Podnieś, kiedy skrypt docelowy jest uruchamiany po raz pierwszy.
- stop [proces]: Wywoływany, gdy skrypt docelowy jest zatrzymywany przez użytkownika
- zapisz [ścieżka, dane]: Wywoływany, gdy monitor docelowy zapisuje informacje pid na dysku.
- restart [forever]: Wywoływany za każdym razem, gdy skrypt docelowy jest ponownie uruchamiany
- exit [forever]: Wywoływany, gdy docelowy skrypt faktycznie opuszcza (trwały).
- standardowe wyjście [dane]: Podniesiony, gdy dane są odebrane z procesu dzieci standardowe wyjście
- stderr [dane]: Podniesiony, gdy dane są odebrane z procesu dzieci stderr
to poprzez dołączenie zdarzenie słuchaczy skryptu, który próbujesz uruchomić i obsługiwać je w zgrabny sposób.
The code jest dość dobrze udokumentowana, jeśli chcesz dokładnie sprawdzić, jak to działa.
Powinieneś również przeczytać ten excellent tutorial, w jaki sposób utrzymać proces na zawsze.
Co do drugiego pytania: Nie, nie dodaje go do rozruchu przy starcie. W tym celu należy dodać go jako upstart job lub użyć czegoś w rodzaju Monit, aby go monitorować i uruchamiać. W tym celu powinieneś rzucić okiem na Deploying Node.js with Upstart and Monit. To świetny samouczek.
Dziękuję @ Dan Davies Brackett – cowboybebop