Merge pull request #146 from movableink/buffer-websocket-log-output
logline output buffers rather than updating on every ws message
This commit is contained in:
commit
4689d53305
1 changed files with 30 additions and 7 deletions
|
@ -133,12 +133,35 @@
|
||||||
outputWS.onopen = function () { console.log('output websocket open'); };
|
outputWS.onopen = function () { console.log('output websocket open'); };
|
||||||
outputWS.onerror = function (e) { console.log('websocket error: ' + e); };
|
outputWS.onerror = function (e) { console.log('websocket error: ' + e); };
|
||||||
outputWS.onclose = function (e) { window.location.reload(); };
|
outputWS.onclose = function (e) { window.location.reload(); };
|
||||||
|
|
||||||
|
window.requestAnimationFrame = window.requestAnimationFrame ||
|
||||||
|
window.webkitRequestAnimationFrame ||
|
||||||
|
function(callback, element) {
|
||||||
|
return window.setTimeout(function() {
|
||||||
|
callback(+new Date());
|
||||||
|
}, 1000 / 60);
|
||||||
|
};
|
||||||
|
|
||||||
|
var lineBuffer = "";
|
||||||
|
|
||||||
outputWS.onmessage = function (e) {
|
outputWS.onmessage = function (e) {
|
||||||
outputBox.innerHTML += formatLine(e.data);
|
lineBuffer += formatLine(e.data);
|
||||||
|
};
|
||||||
|
|
||||||
|
function updateScreen() {
|
||||||
|
if(lineBuffer.length > 0) {
|
||||||
|
outputBox.innerHTML += lineBuffer;
|
||||||
|
lineBuffer = '';
|
||||||
|
|
||||||
if (window.autofollow) {
|
if (window.autofollow) {
|
||||||
window.scrollTo(0, document.body.scrollHeight);
|
window.scrollTo(0, document.body.scrollHeight);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
requestAnimationFrame(updateScreen);
|
||||||
|
}
|
||||||
|
|
||||||
|
requestAnimationFrame(updateScreen);
|
||||||
|
|
||||||
{{ else }}
|
{{ else }}
|
||||||
$.get("/{{ .Repo.Slug }}/commit/{{ .Commit.Hash }}/build/{{ .Build.Slug }}/out.txt", function( data ) {
|
$.get("/{{ .Repo.Slug }}/commit/{{ .Commit.Hash }}/build/{{ .Build.Slug }}/out.txt", function( data ) {
|
||||||
$( "#stdout" ).html(formatLine(data));
|
$( "#stdout" ).html(formatLine(data));
|
||||||
|
|
Loading…
Reference in a new issue