2013-11-27 76 views
1

我在node.js中緩慢重新啓動在node.js中

一個互聯網半相關的代碼它的更新依賴互聯網的,只有開始。

與process.on('uncaughtException')我能夠得到所有的互聯網連接問題。

我想要的是一種停止腳本,等待一段時間,並從頭開始重新啓動應用程序的方法。

我曾嘗試:

process.on('uncaughtException', function(err) { 
    console.log('Caught fatal error ' + err + ', will restart in 10sec'); 
    setTimeout(function() { 
     var arg = ['-c', 'sh start.sh'], 
      child = spawn('bash', arg); 
     process.exit(); 
    }, 10000); 
}); 

它並重新啓動腳本,但在另一種情況下,當我CTRL + C殺死進程這意味着,我的日誌顯示,X的node.js的地方運行實例。 (登錄由多個端「用戶殺死過程殺傷路徑/到/ app.js。」) 我想產卵start.sh

(NB之前殺死腳本:start.sh是一個簡單的bash腳本用一些參數啓動我的應用程序)。

回答

3

有一個外部工具來監視它並在退出後重新啓動它,因此可以使用forever,node-supervisor或簡單的經常cron

+0

我正在使用主管,它非常紮實。 – pomarc