Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var cluster = require("cluster");
- var os = require("os");
- var http = require("http");
- var argv = require('optimist').argv;
- var numReqs = 0;
- // port wg argumantu -p, jesli nie istnieje, domyslnie 8000
- var port = argv.p || 8000;
- var app = express();
- // middleware, do zliczania liczby requestow
- // wykonywane przed nizej wymienionymi metodami (KOLEJNOSC MA ZNACZENIE!)
- app.use(function(req, res, next) {
- //console.log('%s %s', req.method, req.url);
- process.send({ cmd: 'notifyRequest' });
- next();
- });
- app.get('/', function(req,res){
- res.send("Hello World!");
- });
- app.get('/test', function(req,res){
- res.send("test");
- });
- // obsluga servera
- if (cluster.isMaster) {
- console.log("CPUS: " + os.cpus().length);
- for (var i = 0; i < os.cpus().length; i++) {
- var worker = cluster.fork();
- worker.on('message', function(msg) {
- if (msg.cmd && msg.cmd == 'notifyRequest') {
- numReqs++;
- }
- });
- }
- setInterval(function() {
- console.log("numReqs =", numReqs);
- }, 1000);
- cluster.on('death', function(worker) {
- console.log('worker ' + worker.pid + ' died, restarting...');
- cluster.fork();
- });
- } else {
- app.listen(port, function() {
- console.log('Listening on port %d', port);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement