Skip to content

SSE стриминг: /v1/updates/stream + pg LISTEN/NOTIFY #9

@plagness

Description

@plagness

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Важно: текущий sprint/фазаtype:featureНовая функциональность

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions