Задать вопрос
@mcrack25

Как в django_channels не потерять сообщения, если подключенного пользователя нет?

я создал небольшой чат на django_channels, в чате должно быть 2 человека и если я отправляю сообщение в чат, то хочу, чтобы если в чате меньше 2 человек (илм если клиента нет), то помечтать его как не прочитанное при сохранении в базу, а при соединении запрашивать список всех не прочитанных и выдавать их.

Как это сделать? Не пойму как определить, что человек, которому я пишу не соединён с вебсокетом
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@mcrack25 Автор вопроса
Короче ничего более менее правильного не придумал как сделать следующее:

В методе connect как только пользователь соединяется, я складываю его Id во внешний список всех подключенных пользователей, таким образом я определяю кто онлайн, в методе disconnect я удаляю пользователя из этого списка, в методе receive я уже произвожу сохранение в базу и если whom - кому отправляю его Id нет в том списке подключенных, то помещают его как delivered=False и уже сохраняю

В качестве внешнего списка можно использовать redis например, я просто списком сделал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы