# Backend Акылдаш Версия: `0.1.2` Первая backend-область проекта — загрузка правовых документов из официального Open Data API ЦБД Минюста Кыргызской Республики. Код расположен в `ingestion/minjust_cbd.py`: его можно запускать как CLI сейчас и импортировать из будущего планировщика backend без запуска отдельного процесса. ## Пробная загрузка Из корня репозитория: ```bash python3 backend/ingestion/minjust_cbd.py --limit 10 ``` В интерактивном терминале отображаются процент, количество документов, ошибки, скорость и примерное оставшееся время. Полная загрузка выполняется без `--limit`. По умолчанию архив сохраняется в `data/minjust-cbd`, который исключён из Git. Повторный запуск пропускает уже загруженные документы; `--refresh` принудительно проверяет их заново. Если временный идентификатор списка API истечёт во время многодневной загрузки, скрипт пересоздаст список на текущей странице и продолжит автоматически. В версии `0.1.0` обновление существующих документов выполняется полной проверкой через `--refresh`. Инкрементальную проверку по `lastmod` из sitemap следует добавить вместе с backend-планировщиком, когда будет определена частота запуска. ## Защита API Запросы выполняются последовательно, по умолчанию не чаще одного в секунду. Timeout одного ответа — 60 секунд, число попыток — 5, задержка между повторами растёт экспоненциально. При HTTP 429 учитывается заголовок `Retry-After`. Лимит действует на один процесс, поэтому одновременно следует запускать только один экземпляр загрузчика. Более осторожный режим: ```bash python3 backend/ingestion/minjust_cbd.py --requests-per-second 0.5 ``` ## Вызов из будущего backend ```python from ingestion.minjust_cbd import sync_archive result = sync_archive(output_path) ``` Планировщик, очередь задач и PostgreSQL пока не добавлены: модуль не зависит от выбора будущего backend-фреймворка. ## Проверка ```bash PYTHONPATH=backend python3 -m unittest backend/test_minjust_cbd.py -v ``` --- Акылдаш · Backend v0.1.2 · Frontend — не создан