cd aivle_web
python -m venv aivle_web_venv
source aivle_web_venv/bin/activate
python -m pip install wheel
- Follow "Setup" instructions at https://github.com/edu-ai/aivle-web but
python manage.py makemigrations app scheduler
under Step 4 - Follow "Deploying Backend" instructions at https://github.com/edu-ai/aivle-docs/blob/master/docs/dev-guide/deployment-guide.md
- Set
debug=False
and add server URL toALLOWED_HOSTS
inaiVLE/settings.py
for safe deployment - Run server with
python manage.py runserver
- Create Courses
- Set Participations
- Add Tasks
- Download the appropriate grader and gym libraries
cd aivle_worker
python -m venv aivle_worker_venv
source aivle_worker_venv/bin/activate
python -m pip install .
- Follow "Getting Started" instructions at https://github.com/edu-ai/aivle-worker
- Add
TEMP_FOLDER_ROOT
to.env
file and set it to be the directory to store the job submission files (make sure you have execute permissions in this directory to runbootstrap.sh
) - Add
MAX_PROCESS_NUM
andPROCESS_BUFFER
to.env
file and set them to be the process limit for your user on the Slurm login node and the buffer between that and the max number of processes you will allow respectively - Get
ACCESS_TOKEN
using the aivLE Web admin backend under "Tokens" (make sure the user with the token has admin role for "Participations" in intended "Courses") - Run server with
python -m aivle_worker
git clone https://github.com/le0tan/aivle-fe
- Follow "Deploy Frontend (aiVLE FE)" instructions at https://yuanhong.larksuite.com/docx/doxusHWd5rNVi1qjvgw611wB3de
- Add new task to "Tasks" with task_name in the aiVLE Web Backend
cd TEMP_FOLDER_ROOT/venvs/
python -m venv <task_name>
source <task_name>/bin/activate
- Install aiVLE Grader, aiVLE Gym and their required dependencies (locally with
--use-pep517
if necessary) - Add task function to
aivle_worker/aivle_worker/tasks.py
- Add task function to
aivle_web/scheduler/celery_app.py
- Wait for aiVLE Web's server to be up along with the RabbitMQ server.
- Restart aiVLE Web.
- Get permission for aiVLE Worker to connect to aiVLE Web if necessary.
- Get permission for aiVLE Worker to connect to the RabbitMQ server if necessary.