disconnect-fix

This commit is contained in:
2023-10-16 17:44:19 +03:00
parent dccfe81541
commit c9650772bc
3 changed files with 54 additions and 43 deletions

View File

@@ -12,10 +12,14 @@
### Как это работает
Сервис подписывается на Redus PubSub каналы
- `new_reaction`,
- `new_follower:<author_id>`,
При каждом обращении к `/connect` создаётся отдельная на Redus PubSub каналы
- `new_reaction`
- `new_shout`
- `chat:<chat_id>`
Сервис пересылает из этих каналов те сообщения, которые предназначены пользователю, который подписался на SSE по адресу `/connect` токеном авторизации в заголовке `Authorization`
- `followers:<author_id>`
- `chat:<chat_id>`
После подписки на эти каналы, сервис начинает пересылать сообщения из этих каналов. Он пересылает только те сообщения, которые предназначены пользователю, подписавшемуся на Server-Sent Events (SSE) по адресу `/connect`. Для авторизации подписки используется токен, который передается в заголовке `Authorization`.
Таким образом, приложение обеспечивает реализацию механизма подписки и пересылки сообщений, позволяя пользователям получать только те уведомления, которые предназначены непосредственно для них.
При завершении подключения, все подписки автоматически отменяются, так как они связаны с конкретным подключением. Если пользователь снова подключается, процесс подписки повторяется.