我使用的是WebsocketConsumer,该高速缓存层存储用户相关数据
当WebsocketConsumer断开连接时,我会清理与用户相关的所有内容
from channels.generic.websocket import WebsocketConsumer
class MyConsumer(WebsocketConsumer):
def connect(self):
self.store_session_data()
def disconnect(self, _):
self.clean_session_data()
问题是,如果浏览器的标签页或浏览器本身关闭,断开连接不会被触发
问题
有没有办法不管WebsocketConsumer是如何关闭的都能执行一些东西?
有什么想法吗
1条答案
按热度按时间hpxqektj1#
使用WebSocket_disconnect和disconnect,无论连接是如何关闭的,我都能够正确地清理会话数据
**更新:**需要调用
super().websocket_disconnect(message)
才能正常断开