
Untitled
By: a guest on
Jun 14th, 2012 | syntax:
JavaScript | size: 1.37 KB | hits: 22 | expires: Never
var http = require('http');
var https = require('https');
var parse = require('url').parse;
var fs = require('fs');
var makeRequest = function (url, cb) {
console.log(url);
function callback(err, data) {
if (cb) {
cb(err, data);
cb = null;
}
}
var urlInfo = parse(url);
var opt = {
path: urlInfo.path, port: urlInfo.port, host: urlInfo.hostname, headers: {'Connection': 'close'}
};
var module = null;
if (urlInfo.protocol == 'https:') {
module = https;
} else {
module = http;
}
module.get(opt,
function (res) {
var ret = '';
res.on('data', function (data) {
ret += data.toString();
});
res.on('end', function () {
res.body = ret;
callback(null, res);
});
res.on('error', function (err) {
callback(err);
});
}).on('error', function (err) {
callback(err);
});
};
var data = fs.readFileSync('data');
var lines = data.toString().split("\n");
var count = lines.length;
var c = 10;
var w = 0;
function goTrough() {
if (count == 0) { console.timeEnd("workers"); }
while (w < c && lines.length > 0) {
var id = lines.pop();
makeRequest("http://google.com/" + id, function () {
count--;
w--;
goTrough();
});
w++;
}
}
console.time("workers");
goTrough();