1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * Module dependencies.
- */
- var cluster = require('../')
- , http = require('http');
- require('./common');
- var server = http.createServer(function(req, res){
- res.writeHead(200);
- res.end('Hello World');
- });
- // request options
- var options = {
- host: 'localhost'
- , port: 3000
- , headers: { Connection: 'keep-alive' }
- };
- // cluster
- cluster = cluster(server)
- .set('workers', 1)
- .set('timeout', 1000)
- .listen(3000);
- cluster.on('listening', function(){
- http.get(options, function(res){
- res.statusCode.should.equal(200);
- // kill the worker
- var pid = cluster.children[0].proc.pid;
- process.kill(pid, 'SIGQUIT');
- });
- });
- var timeout;
- cluster.on('worker timeout', function(worker){
- worker.id.should.equal(0);
- timeout = true;
- });
- cluster.on('worker connected', function(worker){
- if (timeout) {
- worker.id.should.equal(0);
- http.get(options, function(res){
- res.statusCode.should.equal(200);
- cluster.close();
- });
- }
- });
|