Files
quoter/README.md

25 lines
1.8 KiB
Markdown
Raw Normal View History

2023-10-03 16:29:31 +03:00
## Presence
"Присутствие" - это сервер для пересылки сообщений в реальном времени. Текущая версия использует SSE-транспорт.
2023-09-28 13:12:07 +03:00
### ENV
- API_BASE
2023-10-06 13:50:20 +03:00
- AUTH_URL
2023-10-02 12:22:04 +03:00
- REDIS_URL
2023-10-03 16:29:31 +03:00
### Как это работает
2023-10-16 19:40:45 +03:00
При каждом обращении к `/connect` создаётся отдельная асинхронная задача с подписками на Redus PubSub каналы
2023-10-16 17:44:19 +03:00
- `new_reaction`
2023-10-16 16:22:54 +03:00
- `new_shout`
2023-10-16 17:44:19 +03:00
- `followers:<author_id>`
- `chat:<chat_id>`
После подписки на эти каналы, сервис начинает пересылать сообщения из этих каналов. Он пересылает только те сообщения, которые предназначены пользователю, подписавшемуся на Server-Sent Events (SSE) по адресу `/connect`. Для авторизации подписки используется токен, который передается в заголовке `Authorization`.
Таким образом, приложение обеспечивает реализацию механизма подписки и пересылки сообщений, позволяя пользователям получать только те уведомления, которые предназначены непосредственно для них.
При завершении подключения, все подписки автоматически отменяются, так как они связаны с конкретным подключением. Если пользователь снова подключается, процесс подписки повторяется.