- add_document: параллельные воркеры проходили проверку existing и оба
вставляли один ext_id → IntegrityError в логах. Теперь ловим её, откатываем
и возвращаем duplicate — чисто, без шумных ошибок.
- Dockerfile: откат --timeout/--retries (он инвалидировал кэш pip-слоя, а
толку от него при недоступном pypi нет). Устойчивость сборки решать зеркалом
когда появится рабочее.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Деплой падал: buildx с холодным кэшем делает полный pip install, а канал до
pypi.org медленный и с таймаутами → сборка не завершалась. Добавил
--timeout 120 --retries 10. Первый успешный build также прогреет buildx-кэш,
дальше пересборки по коду будут быстрыми (только слой COPY).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>