From f70282539194a428a37776e92edcd8041f2f5c2c Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Thu, 18 Jan 2024 10:57:34 +0100 Subject: [PATCH] Write something on the job queue --- book.org | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/book.org b/book.org index a2776d3..318fb05 100644 --- a/book.org +++ b/book.org @@ -69,11 +69,6 @@ Because of this the `\frontmatter` statement needs to be part of the `org-latex- Include history of automated assessment -*** TODO Write something about the job queue at the start of [[#subsec:techdodonajudging]] -:PROPERTIES: -:CREATED: [2024-01-18 Thu 10:47] -:END: - *** TODO Write [[#subsec:useothers]], and [[#sec:usesecondary]] :PROPERTIES: :CREATED: [2023-11-20 Mon 17:25] @@ -836,6 +831,9 @@ If there are lots of small differences between a very long generated and expecte :END: Student code is run in background jobs by our worker servers (Salmoneus, Sisyphus, Tantalus, Tityos and Ixion, as can be seen in figure\nbsp{}[[fig:technicaldodonaservers]]). +To divide the work over these servers we make use of a job queue, based on =delayed_job=[fn:: https://github.com/collectiveidea/delayed_job]. +Each worker server has 6 job runners, which regularly poll the job queue when idle. + For proper virtualization we use Docker containers\nbsp{}[cite:@pevelerComparingJailedSandboxes2019] that use OS-level containerization technologies and define runtime environments in which all data and executable software (e.g., scripts, compilers, interpreters, linters, database systems) are provided and executed. These resources are typically pre-installed in the image of the container. Prior to launching the actual assessment, the container is extended with the submission, the judge and the resources included in the assessment configuration (Figure\nbsp{}[[fig:technicaloutline]]).