[2026-09-22] eagle: family/projects/watchlist-automation.md family/projects/watchlist-sync.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-22 18:34:24 +06:00
1 parent a334332c5b
commit 9b635e1475
4 files changed
+206 -1

No files matched your search

+78
View File
@@ -79,10 +79,88 @@ related:
**Первый коммит:** `1765c05` (gitea `git_admin/lampac-scripts`, private).
Проверка push: `git rev-parse HEAD` == `git ls-remote origin refs/heads/main`.
**Второй коммит:** `0345df2` — фиксы деплоя (`.env`-путь, `clear_failed_cache()`),
переделанный `mark_missing.py`, **`watchlist-catalog.sh` впервые в git**.
🔴 **`watchlist-catalog.sh` до этого коммита жил ТОЛЬКО на Кра́кене**
(`/home/kraken/scripts/`), в git его не было — потерялся бы вместе с SD.
Правило: любой скрипт, который вызывает крон на боевой машине, обязан быть
в репозитории. Проверять `git status` не только в репо, но и по факту:
«залил scp-шкой» ≠ «закоммитил». В этой сессии коммит откладывался трижды,
и каждый раз это всплывало как вопрос Alex.
Создание репо через API — `~/lampac-tmp/create_gitea_repo.py` (Python, а не bash:
подстановка `$( … | sed … )` вырезается фильтром безопасности — питфолл №2 из
[[family/how-to/gitea-config.md]]).
## 🔴 Автозакачка в Radarr ОТКЛЮЧЕНА (2026-09-22)
Alex: *«ТЕБЕ БЛЯДЬ ЕЩЁ СУКА НЕ ОЧЕВИДНО ЧТО БЛЯДЬ ЗАКАЧЕК БЫТЬ НЕ ДОЛЖНО СКОТИНА?!»*
**Что было:** `watchlist-nightly.sh:25-27` вызывал
`watchlist-sync sync-down --apply --batch 2`, а `sync_down.py`
(`radarr_add()` + `radarr_search()`, строки 155/158) **добавлял фильмы в Radarr
и триггерил поиск раздач** — закачки уходили без спроса, до 2 за прогон.
**Что стало:** вызов `sync-down` вырезан из cron-скрипта. Крон теперь:
```
sync-vault → process-thumbs → resolve --recheck --apply → sync-up → sync-vault
```
Бэкап прежней версии: `watchlist-nightly.sh.bak-20260922-182655`.
Сумма новой: `4401882e3b1307a73b3330a70b59ecfe`.
🔴 **`sync_down.py` как КОД оставлен** — запускается вручную, если понадобится.
Отключён именно автоматический прогон по крону, а не возможность.
Возврат — только по прямому указанию Alex.
**Единственный автоматический путь в закачку** (проверено grep по `~/scripts/*.sh`):
в активном виде не осталось ни одного. Все упоминания `sync-down` — комментарии.
⚠️ **Radarr уже получил закачки за прошлые прогоны** (9 фильмов в статистике).
Их судьба на момент записи не решена — отдельный вопрос к Alex.
### Разграничение двух «лимитов» (частый источник путаницы)
| Лимит | Что ограничивает | Где |
|---|---|---|
| `batch=2` | сколько позиций **уходит в Radarr на закачку** за прогон | `sync-down`, был в крон |
| **лимита нет** | **выдача в Lampa** — отдаётся весь `watchlist.json` | `wwwroot/` |
Каталог строится `.md` → `watchlist.json`; **Radarr в отображении не участвует.**
Alex спрашивал про «лимит обработки/выдачи в lampa» — это НЕ `batch`.
## 🔴 Кэш резолва переехал с SD-карты на HDD (2026-09-22)
Alex: *«какого хуя что-то лежит на sd карте блядь?!»*
**Было:** `~/.lampac_tmdb_cache.json` (72 КБ) и `~/.lampac_tmdb_details.json`
(426 КБ) в домашнем каталоге `kraken` — **на SD-карте** (`/dev/mmcblk0p2`, 14 ГБ).
SD медленная, изнашивается, теряется при переустановке/апдейте системы.
**Стало:** пути выводятся из расположения самого скрипта:
```python
def _cache_dir() -> Path:
side = Path(__file__).resolve().parent.parent / "cache"
if side.is_dir():
return side # Кра́кен: <lampac>/cache (HDD)
return Path.home() # fallback для запуска с Мака
CACHE_FILE = _cache_dir() / ".lampac_tmdb_cache.json"
DETAILS_FILE = _cache_dir() / ".lampac_tmdb_details.json"
```
Патч: `~/lampac-tmp/patch_hdd_cache.py`, бэкап `.bak-hddcache`.
⚠️ **Файлы скрытые** — имя начинается с точки. Проверять `ls -la` или `find`,
а не `ls <dir>/*.json`: глоб `*` их НЕ находит. На этом я ошибся дважды и
сначала решил, что копирование не сработало.
**Проверено по времени правки файла:** кэш на HDD обновляется прогоном,
на SD застыл. На SD остаётся копия — удалять её отдельным шагом с подтверждением.
## 🚀 Деплой генератора на Кра́кен (проверено 2026-09-22)
### 🔴🔴 Питфолл: `load_env()` искал `.env` только по Mac-пути