[2026-09-22] eagle: personal/plans/lampac-pidtor-503-fix.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md personal/tech/lampac-torrserver.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-22 19:30:17 +06:00
1 parent f7c06d2e41
commit 9e4713f81c
4 files changed
+232 -101

No files matched your search

+50 -9
View File
@@ -1,9 +1,11 @@
# TorrServer на Кра́кене — диагностика
**Дата:** 2026-09-22
**Вывод:** ✅ **TorrServer исправен.** Но «Торренты» пусто по ДВУМ причинам,
найденным после первой проверки: 🔴 **закэшированный 503** (`X-Invoke-Cache: HIT`)
и 🔴 **`min_sid: 15` режет выдачу**. Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
**Вывод:** ✅ **TorrServer исправен.** «Торренты» пусто было по причине
🔴 **`redapi` указывал на локальный lampac**, чей JacRed отдаёт формат БЕЗ
поля `info` → PidTor падал на `torrent.info.sizeName` → NPE → 500 → кэшировался
как 503. **ИСПРАВЛЕНО**: `redapi` возвращён на `http://jac.red`.
Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
**Связано:** [[personal/tech/lampac-deployment]], [[personal/plans/lampac-pidtor-503-fix]],
[[personal/plans/lampac-disable-1xbet-ads]]
@@ -107,8 +109,28 @@ Lampa → lampac PidTor → jac.red (ПОИСК раздач — ЧУЖОЙ хо
⚠️ Поиск раздач **не локален** — `PidTor.redapi = "http://jac.red"`. TorrServer
только качает то, что нашёл чужой сервер. Не путать эти роли при диагностике.
Рабочая альтернатива — локальный JacRed lampac:
`/api/v2.0/indexers/all/results?Query=…` отвечает за **0.12s** (внешний — 0.35s).
### 🔴🔴 Локальный JacRed — НЕ альтернатива. Он ломает PidTor
**Проверено 2026-09-22 (стоило полной поломки):** переключение
`redapi` на `http://127.0.0.1:9118` (локальный JacRed lampac) роняет **ВСЕ**
фильмы в HTTP 500.
```
НАШ JacRed отдаёт поля: Tracker, Details, Title, Size, PublishDate,
Category, Seeders, Peers, MagnetUri
^^^ поля "info" НЕТ
jac.red отдаёт ещё: info{quality, voices[], sizeName, name, originalname,
relased}, ffprobe, languages, CategoryDesc
PidTor/Controller.cs:97:
string mediainfo = torrent.info.sizeName ?? string.Empty;
^^^^^^^^^^^^^^ info == null -> NullReferenceException -> 500
```
Локальный JacRed быстрее (0.12s против 0.35s), но **несовместим по формату**.
`redapi` обязан оставаться `http://jac.red`. Подробно:
[[personal/plans/lampac-pidtor-503-fix]]
## 🔴 `min_sid: 15` — второй фильтр, режущий выдачу
@@ -244,10 +266,29 @@ ssh kraken 'curl -s "http://127.0.0.1:9118/lite/pidtor?title=Матрица&year
python3 /tmp/probe_pidtor_batch.py
```
### Если пусто — порядок проверки
### Если пусто — порядок проверки (по реальной причине, 2026-09-22)
0. **СНАЧАЛА проверить `redapi`:**
`docker exec lampac sh -c 'grep -o "\"redapi\": \"[^\"]*\"" /lampac/current.conf'`
→ должно быть `http://jac.red`. Если `127.0.0.1:9118` — PidTor отдаст 500 (см. выше)
1. `curl -i "…/lite/pidtor?title=<название>&year=<год>"` — **смотреть заголовки**:
`X-Invoke-Cache: HIT` → это кэш, лечение `docker restart lampac`
2. Пришёл 503 → источник отказал, кэш держит ~40 мин
3. Пришёл 200, но 0 раздач → реально нет раздач у трекеров
4. `min_sid: 15` — сиды < 15 отсекаются (свежие фильмы часто 1–37)
2. **500** → реальная ошибка (чаще всего `info`-несовместимость источника)
3. **503** → источник отказал, кэш держит ~45 мин (`extend: 2700`)
4. **200, но 0 раздач** → реально нет раздач у трекеров
5. `min_sid: 15` (сток) — сиды < 15 отсекаются (свежие фильмы часто 1–37)
### 🔴 Порядок сброса кэша (если 503 застрял)
Кэш переживает `docker restart` — он на диске:
```bash
H=/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac
docker stop lampac
cp -r "$H/cache/fdb" /tmp/fdb-backup-$(date +%Y%m%d-%H%M%S)/ # бэкап обязателен
rm -rf "$H/cache/fdb"; mkdir -p "$H/cache/fdb"
docker start lampac
```
⚠️ После чистки 503 сменится на **500** — это признак, что кэш больше не маскирует
настоящую ошибку. Дальше искать причину 500 (пункт 2 выше), а не радоваться.