Phase 2: Реалтайм стриминг обновлений
Server-Sent Events endpoint для получения Telegram updates в реальном времени (< 1 сек задержка).
Архитектура
ingest_update() → INSERT webhook_updates
↓ (trigger)
pg_notify('new_update', JSON)
↓
PgUpdateListener (LISTEN)
↓ (fan-out)
asyncio.Queue per subscriber
↓
GET /v1/updates/stream (SSE)
↓
text/event-stream → consumer
Файлы
api/app/services/pg_listener.py — новый: PgUpdateListener singleton
api/app/routers/updates.py — +endpoint GET /v1/updates/stream
api/app/main.py — запуск listener в lifespan
Зависимости
- Нужен pg_notify триггер (#DB migration issue)
Phase 2: Реалтайм стриминг обновлений
Server-Sent Events endpoint для получения Telegram updates в реальном времени (< 1 сек задержка).
Архитектура
Файлы
api/app/services/pg_listener.py— новый: PgUpdateListener singletonapi/app/routers/updates.py— +endpointGET /v1/updates/streamapi/app/main.py— запуск listener в lifespanЗависимости