我用Meteor創建的項目有一個內存泄漏,在一個或兩個月的過程中緩慢累積。在發現漏洞之後的幾天,我拋出了毛巾,只是增加了一個月發生一次的自動重啓。是的,這是不好的做法,等等。如何從Meteor.js內重新啓動Meteor服務器
有沒有一種方法可以簡單地從服務器的代碼庫中重新啓動?理想情況下,這也會觸發連接客戶端的刷新(與常規部署更新類似)。
然後我假設這個命令可以嵌套在一個很好的JS超時函數中。
我用Meteor創建的項目有一個內存泄漏,在一個或兩個月的過程中緩慢累積。在發現漏洞之後的幾天,我拋出了毛巾,只是增加了一個月發生一次的自動重啓。是的,這是不好的做法,等等。如何從Meteor.js內重新啓動Meteor服務器
有沒有一種方法可以簡單地從服務器的代碼庫中重新啓動?理想情況下,這也會觸發連接客戶端的刷新(與常規部署更新類似)。
然後我假設這個命令可以嵌套在一個很好的JS超時函數中。
apendua提供的答案工作。這是一個徹頭徹尾的黑客攻擊,並不是對大多數情況下推薦的,但是對於長期內存泄漏很有用。
將這個你的啓動腳本中:
var restartFrequency = 1000 * 60 * 24; // 1 day (1000 millsec * 60 min * 24 hour)
setTimeout(function(){
process.exit();
}, restartFrequency);
1000毫秒== 1秒。你的比賽應該是'1000 * 60 * 60 * 24'=> 1s * 60(== 1分鐘)* 60(== 1小時)* 24(== 1天) – rkstar 2015-10-01 16:28:59
我想象的那樣簡單'process.exit()'應該做的工作,因爲你的應用程序可能會用反正自動重新啓動功能的環境中運行。 – 2014-09-22 10:08:15
您是否嘗試過使用https://kadira.io/來查找問題? – zeroasterisk 2014-09-25 13:29:38