Previously, user-uploaded files were stored in the /openedx/xqueue/openedx folder (considered by django to be a media subfolder). This folder was not being mounted on the host, thus causing files to be lost on container restart. Also, files were simply not reported by the `tutor submissions show` utility. We now bind-mount the media folder from the host. Media assets are served by uwsgi, which replaced gunicorn. When object storage is in use, we will have to point xqueue to the remote storage solution. This means that we need to add patches to the tutor-minio plugin. Close #2.
22 lines
788 B
Plaintext
22 lines
788 B
Plaintext
############# Xqueue: external grading of Open edX problems
|
|
xqueue:
|
|
image: {{ XQUEUE_DOCKER_IMAGE }}
|
|
volumes:
|
|
- ../plugins/xqueue/apps/settings/tutor.py:/openedx/xqueue/xqueue/tutor.py:ro
|
|
- ../../data/xqueue/media:/openedx/data/media
|
|
environment:
|
|
DJANGO_SETTINGS_MODULE: xqueue.tutor
|
|
restart: unless-stopped
|
|
depends_on: {{ [("mysql", RUN_MYSQL)]|list_if }}
|
|
|
|
xqueue-consumer:
|
|
image: {{ XQUEUE_DOCKER_IMAGE }}
|
|
volumes:
|
|
- ../plugins/xqueue/apps/settings/tutor.py:/openedx/xqueue/xqueue/tutor.py:ro
|
|
environment:
|
|
DJANGO_SETTINGS_MODULE: xqueue.tutor
|
|
restart: unless-stopped
|
|
entrypoint: ["sh", "-e", "-c"]
|
|
command: ["while true; do echo 'running consumers'; ./manage.py run_consumer; sleep 10; done"]
|
|
depends_on: {{ [("mysql", RUN_MYSQL)]|list_if }}
|