removed sync making of dirs #445

This commit is contained in:
soulgalore 2014-07-28 09:50:01 +02:00
parent 730aca8518
commit d2cd4b8213
4 changed files with 143 additions and 81 deletions

View File

@ -15,27 +15,43 @@ var path = require('path'),
module.exports = {
analyze: function(urls, callback) {
fs.mkdirSync(path.join(config.run.absResultDir, config.dataDir, 'gpsi'));
var queue = async.queue(analyzeUrl, config.threads);
var errors = {};
var pageData = {};
var gpsiResultDir = path.join(config.run.absResultDir, config.dataDir, 'gpsi');
fs.mkdir(gpsiResultDir, function(err) {
if (err) {
log.log('error', 'Could not create gpsi result dir: ' + gpsiResultDir + ' ' + err);
callback(errd, {
'type': 'gpsi',
'data': {},
'errors': {}
});
} else {
var queue = async.queue(analyzeUrl, config.threads);
var errors = {};
var pageData = {};
urls.forEach(function(u) {
queue.push({
"url": u
}, function(data, err) {
if (err) {
log.log('error', 'Error running gpsi: ' + err);
errors[u] = err;
} else
pageData[u] = data;
});
urls.forEach(function(u) {
queue.push({
"url": u
}, function(data, err) {
if (err) {
log.log('error', 'Error running gpsi: ' + err);
errors[u] = err;
} else
pageData[u] = data;
});
});
queue.drain = function() {
callback(undefined, {
'type': 'gpsi',
'data': pageData,
'errors': errors
});
};
}
});
queue.drain = function() {
callback(undefined, {'type': 'gpsi', 'data':pageData, 'errors': errors});
};
}
};

View File

@ -15,29 +15,46 @@ var path = require('path'),
module.exports = {
takeScreenshots: function(urls, callback) {
fs.mkdirSync(path.join(config.run.absResultDir, config.dataDir, 'screenshots'));
var queue = async.queue(screenshot, config.threads);
var screenshotsDir = path.join(config.run.absResultDir, config.dataDir, 'screenshots');
fs.mkdir(screenshotsDir, function(err) {
if (err) {
log.log('error', "Couldn't create the screenshot result dir:" + screenshotsDir + ' ' + err);
callback(err, {
'type': 'screenshots',
'data': {},
'errors': {}
});
} else {
var queue = async.queue(screenshot, config.threads);
var errors = {};
var pageData = {};
urls.forEach(function(u) {
queue.push({
"url": u
}, function(err) {
if (err) {
errors[u] = err;
}
});
});
queue.drain = function() {
callback(undefined, {
'type': 'screenshots',
'data': {},
'errors': errors
});
};
}
var errors = {};
var pageData = {};
urls.forEach(function(u) {
queue.push({
"url": u
}, function(err) {
if (err) {
errors[u] = err;
}
});
});
queue.drain = function() {
callback(undefined, {
'type': 'screenshots',
'data': {},
'errors': errors
});
};
}
};

View File

@ -15,36 +15,49 @@ var path = require('path'),
module.exports = {
analyze: function(urls, callback) {
fs.mkdirSync(path.join(config.run.absResultDir, config.dataDir, 'webpagetest'));
var queue = async.queue(analyzeUrl, config.threads);
var errors = {};
var pageData = {};
var wptResultDir = path.join(config.run.absResultDir, config.dataDir, 'webpagetest');
fs.mkdirSync(wptResultDir, function(err) {
var wpt = ((config.webpagetestKey) ? new WebPageTest(config.webpagetestUrl, config.webpagetestKey) :
new WebPageTest(config.webpagetestUrl));
if (err) {
log.log('error', 'Could not create the WPT result dir: ' + wptResultDir + ' ' + err);
callback(err, {
'type': 'webpagetest',
'data': {},
'errors': {}
});
} else {
var queue = async.queue(analyzeUrl, config.threads);
var errors = {};
var pageData = {};
var wpt = ((config.webpagetestKey) ? new WebPageTest(config.webpagetestUrl, config.webpagetestKey) :
new WebPageTest(config.webpagetestUrl));
urls.forEach(function(u) {
queue.push({
"url": u,
"wpt": wpt
}, function(data, err) {
if (err) {
log.log('error', 'Error running WebPageTest: ' + err);
errors[u] = err;
} else
pageData[u] = data;
});
urls.forEach(function(u) {
queue.push({
"url": u,
"wpt": wpt
}, function(data, err) {
if (err) {
log.log('error', 'Error running WebPageTest: ' + err);
errors[u] = err;
} else
pageData[u] = data;
});
});
queue.drain = function() {
callback(undefined, {
'type': 'webpagetest',
'data': pageData,
'errors': errors
});
};
}
});
queue.drain = function() {
callback(undefined, {
'type': 'webpagetest',
'data': pageData,
'errors': errors
});
};
}
};

View File

@ -16,32 +16,48 @@ var path = require('path'),
/**
* Analyze a page using YSlow
*/
* Analyze a page using YSlow
*/
module.exports = {
analyze: function(urls, callback) {
fs.mkdirSync(path.join(config.run.absResultDir, config.dataDir, 'yslow'));
var queue = async.queue(analyzeUrl, config.threads);
var ySlowResults = path.join(config.run.absResultDir, config.dataDir, 'yslow');
fs.mkdir(ySlowResults, function(err) {
var errors = {};
var pageData = {};
urls.forEach(function(u) {
queue.push({
"url": u
}, function(data, err) {
if (err) {
errors[u] = err;
} else pageData[u] = data;
});
if (err) {
log.log('error', "Couldn't create YSlow result dir:" + ySlowResults + ' ' + err);
callback(err, {
'type': 'yslow',
'data': {},
'errors': {}
});
} else {
var queue = async.queue(analyzeUrl, config.threads);
var errors = {};
var pageData = {};
urls.forEach(function(u) {
queue.push({
"url": u
}, function(data, err) {
if (err) {
errors[u] = err;
} else pageData[u] = data;
});
});
queue.drain = function() {
callback(undefined, {
'type': 'yslow',
'data': pageData,
'errors': errors
});
};
}
});
queue.drain = function() {
callback(undefined, {'type': 'yslow', 'data':pageData, 'errors': errors});
};
}
};
function analyzeUrl(args, asyncDoneCallback) {
var url = args.url;