Архивный кейс · эксплуатация прекращена

WTG

Что где лежит в коде, как запускается и что проверялось.
Версия 21841487f524 · подготовлено 7 сентября 2026

О проекте

У публикации несколько этапов обработки. Нужно было видеть, откуда она пришла, что сделал OCR, как сработала классификация и какое решение принял оператор. Ошибки и очереди — на отдельных экранах.

Система собирала публикации, прогоняла их через OCR и классификацию, затем показывала оператору на проверку. Сервис удалён с VPS вместе с данными и бэкапами. Здесь остались обезличенные скрины, схемы и замеры.

  • Архивный проект; сервис выведен из эксплуатации. Демо-ссылки и восстановления WTG нет.
  • Статусы заданий и confidence не являются измерением точности OCR или моделей.
  • Legacy noVNC и недоступные разделы не выдаются за работающие.
  • Обнаруженный рост web до примерно 3,8 GiB описан как наблюдение; первопричина кода не установлена.

Скриншоты, схемы и исходные материалы сохранены на языке оригинала; подписи и описание переведены.

Архитектура и схемы

  • Сбор и долгая обработка вынесены в задания с lease/heartbeat.
  • OCR отделён от web и имеет самостоятельные очередь, статусы и попытки.
  • Исходная публикация, промежуточные решения и итоговые материалы имеют разные роли.
  • Архив содержит только обезличенные изображения, документацию и агрегаты; рабочая БД, сессии и резервные копии не сохранены.
Наблюдавшаяся архитектура до удаления
Наблюдавшаяся архитектура до удаления · Mermaid ↓
Модель данных до удаления
Модель данных до удаления · Mermaid ↓
Прежнее размещение: семь контейнеров
Прежнее размещение: семь контейнеров · Mermaid ↓
Последовательность обработки до удаления
Последовательность обработки до удаления · Mermaid ↓
Историческая целевая архитектура из исходников; не план возобновления WTG
Историческая целевая архитектура из исходников; не план возобновления WTG · Mermaid ↓

Code-map: файлы и связи

Карта привязана к версии 21841487f524. В таблице — экран или API, связанный модуль и данные.

ФункцияЭкран / APIМодульДанные / проверка
Авторизацияaccountsservices/auth.py, vk_user_token.pyauth_accounts, account_communities; browser/API состояния рассматриваются раздельно
Создание и исполнение заданийschedules, processingservices/admin_control.py, cli/admin_worker.pyadmin_jobs, admin_job_step_logs; claim, heartbeat, retry, stale cleanup
Планирование APIschedules, group-poolservices/api_posts_schedule.pyapi_schedule_steps, api_group_pool_items; поколение расписания, очередь, cooldown
Сборgroups, postsservices/crawler.py, vk_parsers.pycommunities, posts, post_media; источник, повторное чтение, нормализация
Профиль и маркетgroups tabs, marketcommunity_profile.py, community_market.py, community_services.pyпрофиль, товары, услуги; фильтры и привязка к группе
Быстрый отборgroup-poolfast_screen_pool.py, fast_wall_probe.pyfast_screen_pool_states, fast_screen_pool_checks; lease, due rows, retention
Pipelinepipelineservices/content_pipeline.pycontent_pipeline_runs/posts/items; этапы и сохранённые результаты
OCRprocessing, post detailsocr.py, ocr_jobs.py, cli/ocr_worker.py, cli/ocr_sidecar.pyocr_jobs, post_media; completed/failed, attempts, timeout
Канонические материалыresultspublication_materials.py, publication-intelligencepublication_decisions/materials/media; связь решения с исходником и версия
Разметка и teacherlabels, processingpublication_teacher.pyteacher runs/results/applications; разметка, расхождения, применение
Логиlogs, file-logsweb/app.py, helpers file logsadmin_job_logs, step logs, files; событийные и файловые следы
ВыдачаTelegram / MAXотдельные bot repositoriescanonical output + bot tables; downstream использует подготовленные данные

Как работать с картой

  1. Перед изменением найти функцию и пройти связи до API, состояния и хранилища.
  2. Проверить входы, ошибки, повторные события и зависимые сценарии.
  3. После изменения обновить карту и затронутые схемы вместе с кодом.
  4. Выполнить связанные проверки и привязать новые материалы к версии исходников.

Сценарии и API

  1. Просмотрите обезличенные расписания, группы, pipeline и материалы.
  2. Сопоставьте экран со строкой code-map и схемой данных.
  3. Откройте агрегаты очередей и истории, прочитайте дату и ограничения замера.
  4. Изучите акт удаления и сравнение диска/RAM до и после вывода из эксплуатации.

Проверка опубликованной версии

CI: prod-deploy ↗ · 61c78116 · исторический запуск другой версии · 2026-06-16T11:57:17Z

CI: prod-deploy ↗ · 1299a357 · исторический запуск другой версии · 2026-06-16T11:45:01Z

  • 30 sanitized UI images checked before deletion
  • Deletion and authoritative DNS removal verified

Эти проверки относятся к указанной версии. Коммерческие показатели и качество моделей на независимой выборке здесь не измерялись.

Измерения

before after
before after · Исходные данные ↓
collection history
collection history · Исходные данные ↓
container logs
container logs · Исходные данные ↓
cpu samples
cpu samples · Исходные данные ↓
material types
material types · Исходные данные ↓
ocr status
ocr status · Исходные данные ↓
table storage
table storage · Исходные данные ↓
  • Сохранено 30 содержательных кадров фактического интерфейса.
  • Дата, сценарий и версия указаны у каждого кадра.
  • Зафиксировано 527 718 публикаций и 29 092 OCR-задания; это разные сущности и не показатели качества.
  • WTG удалён после проверки локального архива; до очистки его каталог занимал около 104 GiB.

Запуск и эксплуатация

WTG не входит в механизм отката портфолио. /opt/wtg, собственные контейнеры, данные, бэкапы, доступы, конфигурации и DNS удалены после проверки локального архива.

GitHub-исходники и общие журналы ОС сохранены по согласованному решению. Отдельные workflow автодеплоя отключены, WTG-ключи удалены.

Результат подтверждает логическое удаление управляемых данных. Физическое стирание блоков хранилища провайдера из гостевой VPS подтвердить невозможно.

Checkout на сервере и опубликованный аудитированный репозиторий имеют разные SHA. Источник каждого вида evidence указан отдельно; соответствие старого image содержимому checkout не утверждается.

Стек

Python / FastAPI / JinjaОперационная админка, JSON API и orchestration.
PostgreSQL / SQLAlchemy / AlembicПубликации, задания, версии решений, материалы и миграции.
PaddleOCRОтдельный OCR sidecar и worker.
Docker / Nginx / systemdПрежнее размещение семи служб и фоновые задания.

Материалы и исходники

Документы code-map: июнь 2026, сохранённая история данных: июнь–июль. Архивирование и удаление: 7 сентября 2026.

Архив материалов на языке оригинала.