diff --git a/app/experiment/views.py b/app/experiment/views.py index 241ecb682a59557971c67c1e378d70f8e2de8f28..e969a1d937096d685d799f8b26232373e812faf7 100644 --- a/app/experiment/views.py +++ b/app/experiment/views.py @@ -1060,18 +1060,13 @@ def create_embody(meta): emit('end', {'path': img_path}) -@socketio.on('end', namespace="/create_embody") -def end_create_embody(): - db.session.close() - - @socketio.on('connect', namespace="/download_csv") def start_download_csv(): emit('success', {'connection': 'Start generating CSV file'}) @socketio.on('generate_csv', namespace="/download_csv") -def process_download_csv(meta): +def download_csv(meta): exp_id = meta["exp_id"] data = generate_csv(exp_id) @@ -1096,4 +1091,11 @@ def process_download_csv(meta): @socketio.on('end', namespace="/download_csv") def end_download_csv(): + # TODO: not working solution... db session keeps hanging after socket session has ended + # mysqld timeout is set to 180s, so it kills hanging connections, but this is not a good solution + db.session.close() + + +@socketio.on('end', namespace="/create_embody") +def end_create_embody(): db.session.close() diff --git a/app/static/js/getCSV.js b/app/static/js/getCSV.js index 9c20c7631107fe028b1b310203a26253d828bae3..4b0313bbc2f96e59041548022644136f886ac246 100644 --- a/app/static/js/getCSV.js +++ b/app/static/js/getCSV.js @@ -26,6 +26,7 @@ $(document).ready(function() { socket.on('timeout', function(data) { // kill connection + socket.emit('end') socket.disconnect() @@ -39,6 +40,8 @@ $(document).ready(function() { }); socket.on('file_ready', function(file) { + + socket.emit('end') socket.disconnect() exportButton.text('File is ready!') diff --git a/app/utils.py b/app/utils.py index ebf43e4be0ba2e640d6e87099590104ccc1d32c8..d8aa68cc7fb284252bbb5aa94ece9966d6adafd4 100644 --- a/app/utils.py +++ b/app/utils.py @@ -142,6 +142,7 @@ select distinct p.idpage, q.idquestion from question q join page p on p.experime ''' + @timeit def generate_csv(exp_id):