mirror of
https://gitlab.silvrtree.co.uk/martind2000/nci.git
synced 2025-01-11 06:45:08 +00:00
38 lines
898 B
JavaScript
38 lines
898 B
JavaScript
'use strict';
|
|
|
|
var Steppy = require('twostep').Steppy,
|
|
logger = require('../lib/logger')('create build resource');
|
|
|
|
var buildDataResourcesHash = {};
|
|
|
|
// create resource for build data
|
|
exports.createBuildDataResource = function(app, buildId) {
|
|
if (buildId in buildDataResourcesHash) {
|
|
return;
|
|
}
|
|
var buildDataResource = app.dataio.resource('build' + buildId);
|
|
buildDataResource.on('connection', function(client) {
|
|
var callback = this.async();
|
|
Steppy(
|
|
function() {
|
|
app.builds.getLogLines({buildId: buildId}, this.slot());
|
|
},
|
|
function(err, logLinesData) {
|
|
client.emit('sync', 'data', {lines: logLinesData.lines});
|
|
|
|
this.pass(null);
|
|
},
|
|
function(err) {
|
|
if (err) {
|
|
logger.error(
|
|
'error during read log for "' + buildId + '":',
|
|
err.stack || err
|
|
);
|
|
}
|
|
callback();
|
|
}
|
|
);
|
|
});
|
|
buildDataResourcesHash[buildId] = buildDataResource;
|
|
};
|