Симптом: 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.
40 lines
689 B
Text
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
|