-
Notifications
You must be signed in to change notification settings - Fork 3
deliver
Veniamin Arefev edited this page Sep 30, 2023
·
10 revisions
- Занимается скачиванием домашних заданий
- Через определённые промежутки времени может получать запрос от control на скачивание или обновление скаченных решений
- Получает информацию о том, откуда нужно скачивать решения через config, который читает созданный пользователем конфиг файл
- Преобразует скачанный архив/репозиторий/whatever в последовательность домашек, которые записываются в depot
- ID объекта-домашки предположительно генерируется на основе уникальных ID, специфичных для способа доставки
- Первая буква ID — это первая буква backend-а, "
g
", "i
", "f
"
- Первая буква ID — это первая буква backend-а, "
- TODO На основании ID объекта можно реализовать backend-кеширование (например, не скачивать повторно письма с уже имеющимся в depot MalID)
- ID объекта-домашки предположительно генерируется на основе уникальных ID, специфичных для способа доставки
- Скачивает домашки из репозиториев (git clone + git pull)
- Каждый объект-домашка — это дерево файлов в каталоге с решением определённого Д/З определённым пользователем, соответствующее каждому коммиту, который затрагивал этот каталог
- Конфиг должен содержать соответствие ФИО студента → URL с репозиторием
- Скачивает архивы решений, присылаемых по почте
- Ве архивы в объекте-домашке должны быть разархивированы
- Конфиг должен содержать соответствие ФИО студента → почтовый адрес
- Все решения лежат в указанном каталоге как дерево файлов, совпадающее со структурой объекта-домашки
- Структура дерева:
Имя пользователя/Имя задачи/дерево домашки
- Timestamp берётся непосредственно из файловой системы (как самое позднее из времён модификации файлов в домашке)
- ID объекта — путь к домашке