diff --git a/memory/2026-04-21.md b/memory/2026-04-21.md index 3568925..3b9352f 100644 --- a/memory/2026-04-21.md +++ b/memory/2026-04-21.md @@ -26,3 +26,67 @@ - 10/10 контейнеров healthy - Capture lag: 1-2 сек, throughput ~2500 pkt/5min - DB: 455 MB, диск 10% +# 2026-04-21 + +## FR24 API — баланс кредитов +- Остаток: **50 486** из 120 000 (промо Explorer) +- Потрачено: ~69 514 за прошлые загрузки +- Стоимость загрузки трека: ~2 кредиты за summaries, потом per-track +- Хватит на ~1 260 рейсов (40 кредитов/рейс) + +## FR24 Track — первый тест загрузки +- Рейс: **SU6807 / FV6807 (SDM6807)** от 01.04.2026 +- fr24_id: `3f0161d3`, борт SU95 RA-89131 +- Маршрут: UUEE (Шереметьево) → ULLI (Пулково) +- Взлёт: 31.03 21:16:27 UTC, посадка: 31.03 22:13:01 UTC +- **1056 точек трека** загружено (ADSB: 17, MLAT: 1039) +- Высоты: 0 – 34 025 ft +- Загружено вручную через API + SQL INSERT в `fr24_ext.fr24_tracks` + `fr24_mart.flight_tracks` +- Важно: сервис `fr24-tracks-fr24` загружает ВСЕ рейсы за дату через `iter_flight_summaries` — тратит много кредитов. Для точечной загрузки одного рейса нужно делать напрямую через API + SQL + +## Яндекс Backfill — заблокирован +- 429 rate limit исчерпан вчера (~23:00 UTC) при backfill 02-05.04 +- Backfill за 06-19.04 не прошёл +- Ожидание сброса: ~23:30 UTC сегодня +- Запланирован повторный запуск + +## Система FR24 — статус +- 10/10 контейнеров healthy +- Capture lag: 1-2 сек, throughput ~2500 pkt/5min +- DB: 455 MB, диск 10% + +--- + +## FR24 Mart matching fixes (21.04.2026 вечер) + +### Баги найдены и исправлены: +1. **DDL fix**: `origin_icao`/`destination_icao` VARCHAR(5)→VARCHAR(20) — FA API возвращает координаты (`L 55.61740 39.72253`) вместо ICAO; применена миграция на VM +2. **fa_worker.py**: добавлена функция `_icao_or_none()` — фильтрует нестандартные значения +3. **build_mart.py**: + - Добавлен словарь `AIRLINE_IATA_TO_ICAO` + конвертация callsign из flight_number + - Добавлен числовой матч по `ident_iata` для FA рейсов + - Расширен словарь `ICAO_TO_IATA` аэропортов + - Фикс `decimal.Decimal / float` → `float(alt_m)` в шумовой модели + +### Результат витрины 19.04.2026: +- ✅ **91 рейс с RTL-SDR треком** (было 0) +- 9 042 точек трека +- 167 ячеек шумовой сетки +- Покрытие: **11.7%** от расписания +- Errors: **0** (было 93) +- Топ: SU 295 (707 pts), SU 1547 (266 pts), SU 1405 (262 pts) + +### FA треки: +- 5 CSN-рейсов загружены, но матч не проверен отдельно +- origin_iata=None у части RTL-SDR рейсов — норм, RTL-SDR не имеет данных о маршруте + +## Документация FR24 обновлена (21.04.2026) +- **Создан**: `tasks/flightradar24/docs/SYSTEM_OVERVIEW.md` — полное описание системы (10 контейнеров, схемы БД, ETL, UI) +- **Обновлён**: `tasks/flightradar24/docs/INDEX.md` — SYSTEM_OVERVIEW как главный документ +- **Обновлён**: `tasks/flightradar24/PROJECT.md` — Фаза 2 Шаг 2 выполнена, открытые задачи + +## Dev-агент запуск (21.04.2026) +- model: `anthropic/claude-sonnet-4-6` +- task: `dev-mart-matching-fix` +- workspace-dev, mode=run +- Завершился успешно, все 4 бага исправлены