mirror of
https://gitlab.silvrtree.co.uk/martind2000/nci.git
synced 2025-02-11 09:59:16 +00:00
do not write build logs to fs
This commit is contained in:
parent
e938dedc4f
commit
059a6fe00c
@ -7,8 +7,6 @@ var Steppy = require('twostep').Steppy,
|
|||||||
require('./lib/project').getAvgProjectBuildDuration
|
require('./lib/project').getAvgProjectBuildDuration
|
||||||
),
|
),
|
||||||
db = require('./db'),
|
db = require('./db'),
|
||||||
path = require('path'),
|
|
||||||
fs = require('fs'),
|
|
||||||
logger = require('./lib/logger')('distributor');
|
logger = require('./lib/logger')('distributor');
|
||||||
|
|
||||||
|
|
||||||
@ -19,10 +17,10 @@ exports.init = function(app, callback) {
|
|||||||
saveBuild: function(build, callback) {
|
saveBuild: function(build, callback) {
|
||||||
Steppy(
|
Steppy(
|
||||||
function() {
|
function() {
|
||||||
if (!_(build.project).has('avgBuildDuration')) {
|
if (_(build.project).has('avgBuildDuration')) {
|
||||||
getAvgProjectBuildDuration(build.project.name, this.slot());
|
|
||||||
} else {
|
|
||||||
this.pass(build.project.avgBuildDuration);
|
this.pass(build.project.avgBuildDuration);
|
||||||
|
} else {
|
||||||
|
getAvgProjectBuildDuration(build.project.name, this.slot());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function(err, avgBuildDuration) {
|
function(err, avgBuildDuration) {
|
||||||
@ -38,9 +36,7 @@ exports.init = function(app, callback) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var getBuildLogPath = function(buildId) {
|
var buildDataResourcesHash = {};
|
||||||
return path.join(app.config.paths.builds, buildId + '.log');
|
|
||||||
};
|
|
||||||
|
|
||||||
// create resource for build data
|
// create resource for build data
|
||||||
var createBuildDataResource = function(buildId) {
|
var createBuildDataResource = function(buildId) {
|
||||||
@ -76,14 +72,10 @@ exports.init = function(app, callback) {
|
|||||||
|
|
||||||
exports.createBuildDataResource = createBuildDataResource;
|
exports.createBuildDataResource = createBuildDataResource;
|
||||||
|
|
||||||
var buildDataResourcesHash = {};
|
|
||||||
|
|
||||||
distributor.on('buildUpdate', function(build, changes) {
|
distributor.on('buildUpdate', function(build, changes) {
|
||||||
var buildsResource = app.dataio.resource('builds');
|
var buildsResource = app.dataio.resource('builds');
|
||||||
|
|
||||||
if (build.status === 'queued') {
|
if (build.status === 'queued') {
|
||||||
// remove prev log if it exists - for development
|
|
||||||
fs.unlink(getBuildLogPath(build.id));
|
|
||||||
createBuildDataResource(build.id);
|
createBuildDataResource(build.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,8 +91,6 @@ exports.init = function(app, callback) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
var writeStreamsHash = {};
|
|
||||||
|
|
||||||
var buildLogLineNumbersHash = {};
|
var buildLogLineNumbersHash = {};
|
||||||
|
|
||||||
distributor.on('buildData', function(build, data) {
|
distributor.on('buildData', function(build, data) {
|
||||||
@ -115,22 +105,6 @@ exports.init = function(app, callback) {
|
|||||||
});
|
});
|
||||||
buildLogLineNumbersHash[build.id] = logLineNumber + lines.length;
|
buildLogLineNumbersHash[build.id] = logLineNumber + lines.length;
|
||||||
|
|
||||||
var filePath = getBuildLogPath(build.id);
|
|
||||||
|
|
||||||
if (!writeStreamsHash[filePath]) {
|
|
||||||
writeStreamsHash[filePath] = fs.createWriteStream(
|
|
||||||
getBuildLogPath(build.id), {encoding: 'utf8'}
|
|
||||||
);
|
|
||||||
writeStreamsHash[filePath].on('error', function(err) {
|
|
||||||
logger.error(
|
|
||||||
'Error during write "' + filePath + '":',
|
|
||||||
err.stack || err
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// TODO: close ended files
|
|
||||||
writeStreamsHash[filePath].write(data);
|
|
||||||
|
|
||||||
app.dataio.resource('build' + build.id).clientEmitSync(
|
app.dataio.resource('build' + build.id).clientEmitSync(
|
||||||
'data',
|
'data',
|
||||||
{lines: lines}
|
{lines: lines}
|
||||||
|
Loading…
Reference in New Issue
Block a user