Commit Graph

112 Commits

Author SHA1 Message Date
b0761dbdb5 Extract pool handling to separate service 2020-03-25 11:30:11 +01:00
de06a83f4c Add a few comments 2020-03-24 18:06:21 +01:00
d9d77fbd97 Various important bug fixes and self destroy for containers 2020-03-23 13:38:50 +01:00
ccb5998b72 Remove semaphore where no longer required and re-enable 2020-03-22 16:56:07 +01:00
1cdc1b0647 Replacing a killed container only if required 2020-03-22 15:35:27 +01:00
0338564bf2 Always close database connection when exiting thread 2020-03-22 15:18:27 +01:00
b4c0a14a35 Fix code style to reduce errors in RubyMine 2020-03-22 15:09:40 +01:00
30fab618a7 Kill container in new thread 2020-03-22 15:09:04 +01:00
ff879d85a1 Restructure kill_container method to release semaphore more quickly 2020-03-22 13:22:22 +01:00
3102d1529f Extract semaphore handling to own methods and add logging 2020-03-22 11:44:19 +01:00
d6e7c20f3f Ensure to release semaphore even if killing container 2020-03-22 10:41:19 +01:00
2b3428b963 Add semaphore to method calls in DockerClient 2020-03-22 09:54:20 +01:00
b38b7bd435 Catch two more exceptions from production 2020-03-17 13:50:33 +01:00
39a822f8bf Skip all docker images not tagged (otherwise, the method crashes) 2018-11-22 19:03:35 +01:00
15b1670511 Update Turbolinks, load additional assets only on request, fix JS
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
2018-11-06 16:46:01 +01:00
de52db89f0 Upgrade Rails to version 5.2.1 and adopt code & specs where necessary
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
2018-11-06 16:46:00 +01:00
730d5541bd allow running, testing and scoring of files in subfolders by using the full filepath 2018-10-19 15:25:05 +02:00
6b6fec025d Fix socket being nil in tests 2018-06-15 14:23:20 +02:00
90d1dcdc37 Close socket from container to server when killing the container in order to save run output 2018-06-05 17:10:22 +02:00
2806d9bf85 specify API version in url used to open the websocket. With version 1.28 and up, docker uses binary frame format for websockets which does not seem to work with FAYE websocket. For API version 1.27 and below, text frame format is used.
+ short fix improvement for empty responses
2017-09-29 16:09:42 +02:00
bdbc372c0c fixed saving run results. also fixed websocket closing. 2017-03-24 18:47:30 +01:00
4674c057a4 Fixed rejection of untagged images 2017-01-18 11:10:34 +01:00
17f0f6fa9f prevent calls on nil 2017-01-11 17:13:34 +01:00
254e8c65d1 adjusted log levels for docker exit and kill messages 2017-01-11 16:04:55 +01:00
f2db88f952 Merge branch 'master' into travis-green-docker
took all the newer versions. Only thing I deleted is the part #to pass the test "it executes the run command" ...
We need to shortly discuss this yqbk.

Conflicts:
	lib/docker_client.rb
2016-11-09 18:25:02 +01:00
c937a1a9ef clean pull request 2016-10-24 23:02:44 +02:00
f055e6813d changes in travis 2016-10-16 17:21:54 +02:00
1f24e48c5c enable docker initialize 2016-10-11 16:45:56 +02:00
1945a47109 apply changes after review 2016-10-11 12:44:16 +02:00
1dfd6f61dc some more relative url roots in editor_edit, removed javascript uglifying for staging, added debug message for docker websocket connection url.
added doku for setting up docker daemon for codeocean
2016-10-07 14:16:24 +02:00
6ff3d36809 Fixed container-ending on exit. 2016-09-09 17:06:30 +02:00
032c201b94 repair database query 2016-08-03 14:08:01 +02:00
4183a16178 merge with master 2016-08-03 12:09:58 +02:00
d29cf9cf61 Also support run output for QaApi 2016-06-17 19:22:25 +02:00
ed20a30517 reverse some changes 2016-06-07 13:52:01 +02:00
8c9c798a0d solve execute_run_command error 2016-05-30 17:02:29 +02:00
060f9687f1 use pry-byebug gem instead for pry (recommended for ruby 2.x) 2016-05-30 15:47:06 +02:00
2850e562cc changes in gemfile 2016-05-30 15:18:02 +02:00
7bc3c4e27c Fix tests in models/execution_environment_spec.rb, uncomment @image in lib/docker_client.rb 2016-05-25 15:56:49 +02:00
4df7bc825b tests creates the workspace files and takes a container from the pool in docker_client_spec.rb repaired 2016-05-24 16:03:55 +02:00
a4a8b6393d test creates the workspace files repaired 2016-05-24 15:59:10 +02:00
b31a5b37f4 renamed execute_websocket_command to open_websocket_connection, because we now run the command after all listeners in the submissions controller were attached 2016-03-01 11:34:07 +01:00
94c31e35a4 Some comments and cleanup of exercise.rb percentage calculation 2016-03-01 11:14:53 +01:00
61426e8f2e uncomment some logging, and recreate folder for local workspace path in the docker client. 2016-01-27 15:49:38 +01:00
ecad5b80fa re-enable data submission via shared folders. 2016-01-27 10:16:13 +01:00
f53457644c just remove subfolders of CONTAINER_WORKSPACE_PATH, do not create target folder manually. 2016-01-25 11:19:56 +01:00
d1e0f31963 uncomment sleep 1000 2016-01-25 11:10:41 +01:00
113f765246 docker_client file copy work in progress 2016-01-25 11:07:52 +01:00
c77d52c0e4 instead of relying on shared folders, use docker api archive function. un tar is still a bit cumbersome, but works. 2016-01-19 15:41:03 +01:00
f928874189 directly call proc (before execution block) and rescue from an exception if it happens instead of using try, in order to log the error. 2015-12-16 16:30:54 +01:00