在Django Channels文档(here)中,有以下示例
class ChatConsumer(WebsocketConsumer):
def connect(self):
# Make a database row with our channel name
Clients.objects.create(channel_name=self.channel_name)
def disconnect(self, close_code):
# Note that in some rare cases (power loss, etc) disconnect may fail
# to run; this naive example would leave zombie channel names around.
Clients.objects.filter(channel_name=self.channel_name).delete()
所以我很担心这个注释:
请注意,在极少数情况下(断电等),断开连接可能会失败 # 跑步;这个天真的例子会留下僵尸频道名称。
该怎么办?有没有一种安全的方法来监视客户端是否仍处于连接状态,以及是否不从db中删除其记录?