gendesign/.gitignore
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

40 lines
689 B
Text

# Memory graph (hardlink to C:\mcp\.aim\memory-gendesign.jsonl)
*.jsonl
!memory/memory-gendesign.jsonl
# Python / Node / venv
.venv/
__pycache__/
*.pyc
*.egg-info/
node_modules/
# Next.js build artifacts
.next/
frontend/.next/
out/
# TypeScript incremental build info — must NOT be committed; locally-generated
# and changes on every build, which busts Docker build context cache.
*.tsbuildinfo
# Env / secrets
.env
.env.local
.env.*.local
.mcp.json
# IDE
.vscode/
.idea/
*.swp
# Claude Code local state
.claude/
# Local data (raw CSVs from Rosreestr/etc — too large for git)
data/raw/
data/raw/prinzip_crm.sqlite
data/raw/domrf_photos/
*.csv
*.csv.zip
!backend/db/init/*.sql