Аудит источников/коллекторов перед интеграцией с QazPipe
Короткий вывод
В текущей кодовой базе нет директории/модуля collector* и прямой интеграции с QazPipe-сборщиками.
Поиск в *.py не нашёл стабильных импортов/вызовов qazpipe (кроме roadmap/документации и одной локальной команды в Telegram-боте).
Что сейчас играет роль сборщиков данных (внутренние источники)
1) services/ingestion_service.py – автоингест внешних новостных фидов
- Источники:
GDELT,ReliefWeb,GDACS. - Точки запуска:
services/worker.py(ARQ cron jobs:cron_ingest_gdelt,cron_ingest_reliefweb,cron_ingest_gdacs).cli.py(cron-ingest-*команды).- Рекомендуемое решение:
- Оставить, пока QazPipe не возьмёт этот слой целиком.
- Если перенос на QazPipe, заменить вызовы этим cron/CLI на вебхуки/очередь с идемпотентным апи-входом.
2) telegram_buffer_bot.py – Telegram-скрипт сборки ссылок
- Роль: подписка на URL из TG-чата/группы и сохранение в
buffer_link. - Уровень интеграции: автономный скрипт вне основного Flask/FastAPI runtime.
- Рекомендуемое решение:
- Перенести в QazPipe либо удалить из runtime, если приём URL уже сделан через QazPipe.
- Пока не трогаем, если на проде на этом процессе завязаны ручные рабочие потоки.
3) app/services/media_integration.py – интеграция с QazLake (поиск/добавление фото)
- Это не collector тикетов, это enrichment-слой для UI/отчётов.
- К возрату в QazPipe не относится.
Что вообще отсутствует как QazPipe-интеграция
- Нет внутренних модуля/сервиса вида
qazpipe_collector*,collectors/*,pipes/*. - Нет явного API-контракта импортера в QazPipe для:
- Telegram-каналов,
- X/Twitter,
- централизованной дедупликации пост/материалов.
Рекомендуемый следующий шаг
- Сделать один endpoint в
crisis-monitorтипаPOST /api/integrations/qazpipe/events(идемпотентный), - Перенести
telegram_buffer_botна этот endpoint (или убрать, если QazPipe будет push-ить напрямую), - Перенести auto-ingestion в QazPipe только если там будет собственный нормализатор/дедуп и тот же контракт полей
title/summary/source/occurred_at.