32 lines
847 B
JavaScript
32 lines
847 B
JavaScript
|
|
||
|
/**
|
||
|
* Module dependencies.
|
||
|
*/
|
||
|
|
||
|
var cluster = require('../')
|
||
|
, http = require('http');
|
||
|
|
||
|
var server = http.createServer(function(req, res){
|
||
|
if (5 == (Math.random() * 10 | 0)) throw new Error('failed!');
|
||
|
console.log('%s %s', req.method, req.url);
|
||
|
var body = 'Hello World';
|
||
|
res.writeHead(200, { 'Content-Length': body.length });
|
||
|
res.end(body);
|
||
|
});
|
||
|
|
||
|
var proc = cluster(server)
|
||
|
.use(cluster.debug())
|
||
|
.use(cluster.stats())
|
||
|
.use(cluster.repl(__dirname + '/repl'))
|
||
|
.listen(3000);
|
||
|
|
||
|
if (proc.isWorker) {
|
||
|
// you can register your own exceptionHandler
|
||
|
// which will prevent Cluster from add its own. This
|
||
|
// means the workers will be harder to kill, however
|
||
|
// if you do not employ additional logic, connections
|
||
|
// will remain open until timeout.
|
||
|
process.on('uncaughtException', function(err){
|
||
|
console.error(err);
|
||
|
});
|
||
|
}
|