Проверяет сессию до принятия WebSocket и отклоняет анонимный доступ
Зачем
Зачем это нужно
Вызывает синхронную ORM через подходящую границу, не блокируя event loop
Удаляет канал из групп при разрыве и не оставляет мёртвые подписки
Вопросы
Частые вопросы
Почему ORM нельзя вызывать прямо из async consumer?
Синхронный запрос блокирует цикл событий и задерживает все соединения процесса. Используйте асинхронные методы вашей версии либо специальный переход в пул. Модель выберет поддерживаемый путь и не будет оборачивать каждый доступ в случайный thread без контроля соединений базы.
Как авторизовать WebSocket?
Во время handshake доступна сессия или токен, после проверки соединение принимается и связывается с конкретным пользователем. Имя группы нельзя брать напрямую из сообщения клиента. Модель строит группу на сервере и проверяет право на объект до добавления, а не после получения первого события.
Что происходит при нескольких процессах?
Локальная память больше не объединяет клиентов, поэтому нужен общий channel layer. Сообщение публикуется в него и доходит до каналов на разных экземплярах. Модель настроит backend и сроки, но важные данные не следует хранить только в слое доставки: пропущенное уведомление должно восстанавливаться из базы.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.