gendesign/backend/.dockerignore
lekss361 c3bc96535d fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log
Симптом: POST /admin/scrape/kn возвращает task_id, но run_id не появляется
в kn_scrape_runs. Причина: зомби-worker оставил Redis-lock с TTL=2h, новые
задачи скипаются с reason='lock_held' молча.

Backend:
- _LOCK_TTL_SECONDS 7200 → 1800 (full sweep ~25-30 мин — потолок).
- force_release_lock() helper + новый POST /api/v1/admin/scrape/release-lock.
- TriggerKnRequest +force: bool — при true перед apply_async удалить lock.
- _log_task_received() / _log_task_skipped() — kn_scrape_log пишет «task
  подхвачен/skip» с run_id=NULL до основного flow. Теперь UI показывает
  whether worker реально получил задачу.

Frontend:
- Чекбокс  Force в форме запуска.
- Кнопка 🔓 Снять Redis-lock (отдельный endpoint).
- Уведомление о результате release.
2026-04-28 23:17:42 +03:00

39 lines
673 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# backend Dockerfile делает целевой `COPY app ./app` (не COPY .), поэтому
# контекст и так чистый. Но build context передаётся ЦЕЛИКОМ от docker buildx
# в daemon/builder — лишние мегабайты замедляют upload и хешинг.
.venv
__pycache__
*.pyc
.pytest_cache
.mypy_cache
.ruff_cache
tests
.env
.env.*
!.env.example
# VCS
.git
.gitignore
.gitattributes
# Local data (raw downloads — никогда не нужны в образе)
data/raw
data/raw_endpoints
data/photos
# Logs / coverage
*.log
.coverage
htmlcov
# Docs / IDE
*.md
docs
.vscode
.idea
# OS
.DS_Store
Thumbs.db