diff --git a/resources/index.html b/resources/index.html index 023d7ee..cb8ef7f 100644 --- a/resources/index.html +++ b/resources/index.html @@ -337,6 +337,25 @@ + + diff --git a/resources/js/script.js b/resources/js/script.js index df965f7..8ac5c44 100644 --- a/resources/js/script.js +++ b/resources/js/script.js @@ -151,9 +151,15 @@ $( document ).ready( () => { // Submit results $("#btnSubmit").click((event) => { - // stop submit the form, we will post it manually. - event.preventDefault(); - doAjax(); + // stop submit the form, we will post it manually. + event.preventDefault(); + $('#ulysses16_submit').hide(); + $('#att48_submit').hide(); + $('#st70_submit').hide(); + $('#a280_submit').hide(); + $('#pcb442_submit').hide(); + $('#dsj1000_submit').hide(); + doAjax(); }); }) @@ -248,9 +254,11 @@ function doAjax() { success: (data) => { console.log('Emit build request') socket.emit('build', {}); + $("#uploadfile").fileinput('clear'); + $("#exampleModal").modal('show'); }, error: (e) => { - $("#listFiles").text(e.responseText); + // $("#listFiles").text(e.responseText); } }); } diff --git a/resources/js/socket_script.js b/resources/js/socket_script.js index 392acc5..cc76dc7 100644 --- a/resources/js/socket_script.js +++ b/resources/js/socket_script.js @@ -39,6 +39,11 @@ socket.on('users_count', (clients) => { // Server running algorithms socket.on('start', () => { console.log('Building start'); + Snackbar.show({ + text: 'Building start, please wait for your result.', + pos: 'bottom-right', + duration: 60000 + }); }); // Update Leaderboard Table @@ -98,6 +103,30 @@ socket.on('info', (msg) => { console.log(msg); }); +function update_your_res(tsp_file, fitness) { + if(fitness > 0) { + $("#" + tsp_file + "_your").text(fitness.toFixed(2)); + enable_btn($("#" + tsp_file + "_submit")) + } + else if (fitness == -1) + { + $("#" + tsp_file + "_your").text("No Answer"); + } + else if (fitness == -2) + { + $("#" + tsp_file + "_your").text("Wrong Answer"); + } + else if (fitness == -3) + { + $("#" + tsp_file + "_your").text("Timeout"); + } + else { + console.log(tsp_file + ": " + fitness) + $("#" + tsp_file + "_your").text("Unknown"); + } +} + + // Update personal result socket.on('result', (res) => { res = JSON.parse(res); @@ -105,45 +134,27 @@ socket.on('result', (res) => { res.forEach(e => { if(e.name === "ulysses16.txt") { my_res.ulysses16.fitness = e.fitness - $("#ulysses16_your").text(e.fitness.toFixed(2)); - if(e.fitness > 0) { - enable_btn($('#ulysses16_submit')) - } + update_your_res("ulysses16", e.fitness) } if(e.name === "att48.txt") { my_res.att48.fitness = e.fitness - $("#att48_your").text(e.fitness.toFixed(2)); - if(e.fitness > 0) { - enable_btn($('#att48_submit')) - } + update_your_res("att48", e.fitness) } if(e.name === "st70.txt") { my_res.st70.fitness = e.fitness - $("#st70_your").text(e.fitness.toFixed(2)) - if(e.fitness > 0) { - enable_btn($('#st70_submit')) - } + update_your_res("st70", e.fitness) } if(e.name === "a280.txt") { my_res.a280.fitness = e.fitness - $("#a280_your").text(e.fitness.toFixed(2)) - if(e.fitness > 0) { - enable_btn($('#a280_submit')) - } + update_your_res("a280", e.fitness) } if(e.name === "pcb442.txt") { my_res.pcb442.fitness = e.fitness - $("#pcb442_your").text(e.fitness.toFixed(2)) - if(e.fitness > 0) { - enable_btn($('#pcb442_submit')) - } + update_your_res("pcb442", e.fitness) } if(e.name === "dsj1000.txt") { my_res.dsj1000.fitness = e.fitness - $("#dsj1000_your").text(e.fitness.toFixed(2)) - if(e.fitness > 0) { - enable_btn($('#dsj1000_submit')) - } + update_your_res("dsj1000", e.fitness) } }); }); diff --git a/server.js b/server.js index 4f3c32c..0f32506 100644 --- a/server.js +++ b/server.js @@ -176,7 +176,10 @@ var update_submission = (socket, sessionID) => { } +var check_time = 0 + var docker_build = (socket, sessionID) => { + check_time = 0 console.log('[server][start]', sessionID) socket.emit('start') @@ -234,7 +237,9 @@ var docker_build = (socket, sessionID) => { .then((containers) => { containers.forEach(container => { if(container.data.Id == container_id) { - socket.emit('info', 'Container Status: ' + container.data.State) + if(check_time % 30 == 0) { + socket.emit('info', 'Container Status: ' + container.data.State) + } if(container.data.State === 'exited') { // Finished Running @@ -249,6 +254,7 @@ var docker_build = (socket, sessionID) => { }) }) .catch(error => console.log(error)) + check_time = check_time + 1 } }, 2000) @@ -260,7 +266,7 @@ var docker_build = (socket, sessionID) => { clearInterval(intervalObj) socket.emit('info', 'timeout') } - }, 60000) + }, 400000) } var clients = 0