基本上我想要像語法:是否有在終止明確應用程序觸發功能的方法嗎?
app.on("event:terminate", dumpFunc);
因此,如果服務器已停止以任何理由,我可以轉儲數據到磁盤。
有沒有辦法做到這一點,或者我應該堅持在數據庫每隔幾秒鐘一個setTimeout
記錄一切嗎?
像:
var badIdea = setTimeout(dumpFunc, 5000);
function dumpFunc(stuff){
//Do stuff
badIdea = setTimeout(dumpFunc, 5000);
}
我接受這個任何建議,但我需要在碰撞時的變量的狀態,堅持在下一負載。雖然我同意,但不要崩潰可能是最好的行動方式,目前這是不可避免的。
具體我需要在任一
- 一個
SIGINT
/SIGKILL
保護到node
由不符合期望和崩潰服務器時,服務器(CTRL
+C
類型的事件) - 用戶輸入它尋找屬性
undefined
或NaN
理論上我可以包裹整個代碼庫在try
/catch
塊,以防止後者,但有時我們會遇到循環條件(我知道,我知道,試),或其他問題和進程需要被終止。
我不期待什麼奇蹟般地回來了我們在斷電或磁盤故障的情況下,但我們需要某種正常終止的選擇,所以我所有的耳朵。
的感謝!你在正確的軌道上,節點的[文件](http://nodejs.org/api/process.html#process_event_exit)有一個'sigint'太盛會!這是非常棒的閱讀。 –