Use websocket to transmit logs

This commit is contained in:
nemunaire 2021-05-02 17:59:55 +02:00
commit d2a49e5740
6 changed files with 67 additions and 19 deletions

View file

@ -30,17 +30,26 @@ function runctnr() {
}
function fetchLogs() {
fetch('/api/jobs/' + current_job + '/logs')
.then(function(response) {
document.getElementById("btnlaunch").disabled = false;
document.getElementById("btnlaunchspinner").style.display = "none";
document.getElementById("started-alert").style.display = "none";
var ws = new WebSocket('ws://' + window.location.host + '/api/jobs/' + current_job + '/logs');
return response.text();
})
.then(function(logs) {
document.getElementById("logs").textContent = logs;
document.getElementById("logs-card").style.display = "block";
current_job = null;
})
ws.onopen = function (evt) {
console.log("Connection open ...");
document.getElementById("logs-card").style.display = "block";
document.getElementById("logs").innerText = "";
};
ws.onmessage = function (evt) {
console.log("Received Message: " + evt.data);
document.getElementById("logs").innerText += evt.data;
};
ws.onclose = function (evt) {
console.log("Connection closed.");
current_job = null;
document.getElementById("btnlaunch").disabled = false;
document.getElementById("btnlaunchspinner").style.display = "none";
document.getElementById("started-alert").style.display = "none";
};
}