셈플
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | var express = require( "express" ); var http = require( "http" ); var cluster = require( "cluster" ); var os = require( "os" ); if ( cluster.isMaster){ var cpu = os.cpus().length; for ( var i=0; i<cpu; i++){ cluster.fork(); } cluster.on( "exit" , function (worker, code, signal){ //process가 종료 되었을경우 다시 시작 console.log( "worker : exit #%s %s" , worker.id, signal); console.log( "worker restarting ..." ); cluster.fork(); }); cluster.on( "online" , function (worker){ console.log( "worker : online #%s, pid: %d" , worker.id, worker.process.pid); }); cluster.on( "listening" , function (worker, address){ console.log( "worker : listening %s" , worker.id); console.log( " address: %s, port: %d" , address.address, address.port); }); } else { var app = express(); var server = http.createServer(app); server.listen(8090, function (){ console.log( "server listening on worker id : #" +cluster.worker.id); }); } |
실행결과
worker : online #1, pid: 32577
worker : online #2, pid: 32578
server listening on worker id : #1
worker : listening 1
address: 0.0.0.0, port: 8090
server listening on worker id : #2
worker : listening 2
address: 0.0.0.0, port: 8090
worker : online #2, pid: 32578
server listening on worker id : #1
worker : listening 1
address: 0.0.0.0, port: 8090
server listening on worker id : #2
worker : listening 2
address: 0.0.0.0, port: 8090
참고:
"JavaScript / Node.JS" 분류의 다른 글
[node.js] ajax로 타 도메인과 연동 문제 / CORS(Cross-Origin Resource Sharing) (0) | 2013/12/20 |
[node.js] traceback (0) | 2013/10/22 |
[node.js] log4js PatternLayout 사용하기 (0) | 2013/10/21 |
[node.js] Strict mode (0) | 2013/10/21 |