mirror of
https://gitlab.silvrtree.co.uk/martind2000/nci.git
synced 2025-02-10 18:49:15 +00:00
show build data at the client
This commit is contained in:
parent
ce9dccba5d
commit
4c6f55b445
@ -17,6 +17,9 @@ function Distributor(params) {
|
||||
self.onBuildUpdate = params.onBuildUpdate || function(build, callback) {
|
||||
callback(null, build);
|
||||
};
|
||||
|
||||
self.onBuildData = params.onBuildData || function(build, data) {
|
||||
};
|
||||
}
|
||||
|
||||
exports.Distributor = Distributor;
|
||||
@ -62,7 +65,7 @@ Distributor.prototype._runNext = function(callback) {
|
||||
});
|
||||
|
||||
executor.on('data', function(data) {
|
||||
console.log('>>> executor`s data = ', data);
|
||||
self.onBuildData(build, data);
|
||||
});
|
||||
},
|
||||
callback
|
||||
|
@ -6,7 +6,8 @@
|
||||
"rev": "default"
|
||||
},
|
||||
"steps": [
|
||||
{"type": "shell", "cmd": "echo 11"},
|
||||
{"type": "shell", "cmd": "echo \"hello, cur dir is `pwd`\""},
|
||||
{"type": "shell", "cmd": "sleep 3"},
|
||||
{"type": "shell", "cmd": "echo 1 > 1.txt"},
|
||||
{"type": "shell", "cmd": "echo 2 > 2.txt"}
|
||||
]
|
||||
|
@ -19,16 +19,28 @@ project.loadAll('projects', function(err, loadedProjects) {
|
||||
});
|
||||
|
||||
module.exports = function(app) {
|
||||
var buildsSequnce = 0;
|
||||
|
||||
var distributor = new Distributor({
|
||||
nodes: [{type: 'local', maxExecutorsCount: 1}],
|
||||
onBuildUpdate: function(build, callback) {
|
||||
var buildsResource = app.dataio.resource('builds');
|
||||
if (build.status === 'waiting') {
|
||||
build.id = ++buildsSequnce;
|
||||
// create resource for build data
|
||||
var buildDataResource = app.dataio.resource('build' + build.id);
|
||||
buildDataResource.on('connection', function(client) {
|
||||
client.emit('sync', 'data', '< collected data >');
|
||||
});
|
||||
}
|
||||
buildsResource.clientEmitSync(
|
||||
build.status === 'waiting' ? 'create' : 'update',
|
||||
build
|
||||
);
|
||||
callback(null, build);
|
||||
},
|
||||
onBuildData: function(build, data) {
|
||||
app.dataio.resource('build' + build.id).clientEmitSync('data', data);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -28,6 +28,16 @@ define([
|
||||
});
|
||||
|
||||
builds.subscribe(function(data, action) {
|
||||
$('#content').append(action.action + ': ' + JSON.stringify(data));
|
||||
$('#content').append(
|
||||
action.action + ': ' + JSON.stringify(data) + '<br>'
|
||||
);
|
||||
if (action.action === 'create') {
|
||||
var name = 'build' + data.id;
|
||||
connect.resource(name).subscribe(function(data, action) {
|
||||
$('#content').append(
|
||||
'<br>' + name + ': ' + data + '<br>'
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user