1
我正在使用nodejs爲Web服務構建脫機緩存系統。 基本上,它偶爾輪詢Web服務的公共方法並將數據緩存在memcached中。 工程就好了。Gracefuly處理Nodejs中的異常
但是,我希望它是防彈的,並能夠在任何未捕獲的異常情況下生存下來,從而降低服務器的性能。 我已經閱讀了各種不同的方法,並且我相信集羣模塊非常適合我的需求。但是,我不會爲我的目的使用所有CPU內核,因爲我只有1個線程正在運行並更新緩存。
我會用它,唯一的原因是爲了讓工人的優雅殺滅和容易分叉一個新
var memwatch = require('memwatch'),
cluster = require('cluster');
if (cluster.isMaster) {
console.log('start cluster with 1 workers');
cluster.fork();
cluster.on('exit', function(worker) {
console.log('worker %s died. restart...', worker.process.pid);
cluster.fork();
});
} else {
var http = require('http'),
app = require("./app.js");
http.createServer().listen(9000);
app.init();
}
process.on('uncaughtException', function (err) {
console.error((new Date).toUTCString() + ' uncaughtException:', err.message)
console.error(err.stack)
process.exit(1)
})
memwatch.on("leak", function(){
console.log("leak detected");
});
你會認爲這是一個正確的做法,以我的問題呢?
感謝