Docker Setup on Assignment Creation Cleanup (Prevent New Docker Container Creation on Each Submission)
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Issue:
Creating a new Docker container on each submission leads to prolonged runtimes for submissions. We need to streamline the process to enhance performance and efficiency.
Proposed Solution:
-
Single Docker Container Creation:
- A single Docker container should be created when the instructor creates the assignment.
- This container should be updated when the instructor uploads the autograder zip file.
- The container should be built and executed with the zip upload, maintaining a structured file system within the container to handle different students, their submissions, and results.
-
Assignment Table Update:
- Add a column in the Assignment table to store the container ID.
- Upon container creation, store the container ID in the database.
- Access this container ID from the database to manage and run the container as needed.
-
Container Execution on Submission:
- On submission, the pre-existing container must be utilized to run the autograder.
- The container should handle the submission, executing the same processes as currently implemented.
-
Error Handling:
- Implement checks to handle/prevent errors such as:
- Container not created.
- Autograder not uploaded.
- Container corruption.
- Container deletion.
- Ensure that an autograder file is provided before publishing an assignment.
- Implement mechanisms to recreate containers and restore their data as necessary in case of corruption.
- Implement checks to handle/prevent errors such as:
Locations/Files:
- TBD
- Lingua principale
- Python
- Stelle
- 13
- Fork
- 0
- Merge medio
- 2h 4m
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di kiat/codeAssist
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
kiat/codeAssist#391 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
kiat/codeAssist#364 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 63/100
kiat/codeAssist#392 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
kiat/codeAssist#390 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
kiat/codeAssist#389 ·
Tutte le issue di kiat/codeAssist
Issue simili
-
area: agents area: docs good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
openapi/gknowledge#23 ·
-
get() for StrEnumForse già presa @FeJo5952 l’ha presa oggi. Apertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
collective/icalendar#1921 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Improvement Python Spans
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
getsentry/sentry-python#7994 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
alphagov/notifications-api#5004 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
equinor/radix-flux#3922 ·
I maintainer di solito rispondono entro 1 giorno