mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-11 05:23:42 +03:00
5bd6ba30cd
ibcmd без --data использует общий каталог автономного сервера в %LOCALAPPDATA%\standalone-server: он копит реестр/локи, и зависший процесс (например, ушедший в консольный интерактив при нехватке кред) держит его лок, блокируя ВСЕ последующие ibcmd-операции «Рабочий каталог заблокирован процессом N». Теперь каждая ibcmd-операция получает свой одноразовый --data=<temp> и удаляет его после: зависший/параллельный вызов лочит только свой каталог, не накапливается реестр («уже зарегистрирована»). База (--db-path) и чужой автономный сервер на дефолтном каталоге не затрагиваются. Реализация: ps1 — --data=$tempDir (создаётся до try, finally чистит на exit); py — свой ib_data через tempfile.mkdtemp + atexit-очистка (надёжно на любом sys.exit); stub-db-create — свой ib_data + явная очистка. Проверено: A/B через навык с живым холдером — операция с общим --data падает «заблокирован процессом N», навык (свой --data) проходит; очистка temp-каталогов подтверждена (оба порта); 1cv8-ветки не затронуты. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>