[2026-09-24] watchlist: фид Lampa пишет sync-down, генератор выпилен; рестарт lampac не нужен
This commit is contained in:
1 parent
70cdba545a
commit
eed338bbc7
1 file changed
+53
@@ -271,6 +271,59 @@ Alex: «если они ни в чем не участвуют, удали вс
|
||||
Фаст-патч Radarr в генераторе оставлен — при пустом Radarr молча не срабатывает,
|
||||
оживёт сам при ручных добавлениях.
|
||||
|
||||
### ✅ 2026-09-24 (вечер): отдельный генератор Lampa ВЫПИЛЕН — фид пишет sync-down
|
||||
|
||||
**Требование Alex:** «не отдельный скрипт на лампу, а один sync скрипт и писал сразу
|
||||
lampa feed». Раньше связка была двумя механизмами: `sync-down` (отдельный шаг) +
|
||||
`lampac/scripts/gen_watchlist.py` (878 строк) по своему крону в 02:30.
|
||||
|
||||
**Стало:** `watchlist_sync/sync_down.py` собирает фид сам, в ночном пайплайне на
|
||||
своём прежнем месте (01:00), генератор и его обвязка удалены:
|
||||
|
||||
| Было | Стало |
|
||||
|---|---|
|
||||
| `sync-down` → Radarr/Sonarr (`arr.py`) | `sync-down` → `wwwroot/watchlist.json` + `cards/` + `missing.json` |
|
||||
| `lampac/scripts/gen_watchlist.py` (878) + `mark_missing.py` (179) | `.bak-removed-20260924-181942` |
|
||||
| `~/scripts/watchlist-catalog.sh` + крон `30 2 * * *` | убран (`.bak-removed-…`), крон почищен |
|
||||
| `arr.py` (Radarr/Sonarr API) | удалён из репы (в истории git) |
|
||||
| маркер `⬇️` | больше не ставится — закачки нет, маркер ничего не значит |
|
||||
|
||||
Коммиты: `a524f5d` (перенос), `471e9df` (ступень КП + тайбрейк), `0534952` (скоуп ❓).
|
||||
|
||||
**Резолв фида — 2 ступени** (`sync_down.run`):
|
||||
1. **КП-по-номеру из ссылки `.md`** (`resolver.resolve_by_kp_id`) — машинный ключ,
|
||||
не зависит от переименований. Без этой ступени на названиях расходилось ~86 позиций.
|
||||
2. **Матч по названию** (`resolver.resolve`). Неоднозначные → берётся кандидат с
|
||||
лучшим `score`, ничьи разбивает рейтинг (Alex 2026-09-24) + ❓ в `.md`.
|
||||
🔴 Только рейтинг использовать НЕЛЬЗЯ: выбрал бы «Семь Самураев» (★8.5) вместо
|
||||
«Семь» (1995, ★8.4) и «Злая наука» вместо нужного фильма.
|
||||
|
||||
**Питфоллы, найденные по ходу:**
|
||||
- 🔴 Фильтры рейтинга/ужасов в фиде — НЕДОПУСТИМЫ: это правила закачки Radarr,
|
||||
а не каталога. С ними терялось ~120 позиций (37 ужасов). Каталог отдаёт всё.
|
||||
- 🔴 `resolve_by_kp_id` не заменяет поиск: у 66 строк с ❓ ссылки на Кинопоиск
|
||||
в `.md` НЕТ, они идут в слепой матч по названию. Куда показывать — уточнять год.
|
||||
- 🔴 `resolve` с годом-хинтом не фильтровал КП-кандидатов: «Злая 2024» → `Cattiva`
|
||||
(1991) со score 1.0. Исправлено — год отсекает КП-документы.
|
||||
- 🔴 `_sync_question_marks` считал скрытым всё, кроме секции «Новинки» → ❓ не
|
||||
попадал в Фильмы/Мультфильмы/Аниме. Скрывать можно только `HIDE_SECTIONS`.
|
||||
- `WatchItem` нельзя класть в выходной JSON (не сериализуется) — только словари.
|
||||
|
||||
**Проверено на живом:** фид 390 позиций (4 канала), lampac HTTP 200, фид 200,
|
||||
карточка 200, ночной прогон целиком зелёный, vault запушен.
|
||||
Бэкап фида до правки: `/tmp/feed-before-*.json`; ночного скрипта —
|
||||
`watchlist-nightly.sh.bak-feed-20260924-181926`.
|
||||
|
||||
🔴 **Рестарт lampac после обновления фида НЕ НУЖЕН** (уточнено 2026-09-24, вопрос Alex).
|
||||
`wwwroot/` — bind-mount, скрипт пишет файл **с хоста**, внутри контейнера он виден
|
||||
сразу (проверено: один и тот же inode `119669729` и размер на хосте и в `lampac`).
|
||||
Алекс: «обновление фида же не потребует передёрга?» — верно, не требует.
|
||||
`docker restart lampac` был унаследован от старого `catalog.sh`, который так сбрасывал
|
||||
`hybridCache` каталога; цена — приложение падает на ~минуту (компиляция модулей,
|
||||
HTTP `000`). Из ночного скрипта рестарт убран. Если каталог в Lampa залип
|
||||
(кэш-ключ `catalog:{plugin}:{search}:{sort}:{cat}:{page}` живёт в памяти процесса) —
|
||||
обновить страницу в Lampa или переключить категорию, а не ронять контейнер.
|
||||
|
||||
Дальше — история и cookbook той защиты.
|
||||
|
||||
**Контекст.** Задача — Lampa на ТВ показывает каталог из `movies-watchlist.md` и играет
|
||||
|
||||
Reference in new issue
Block a user