如何摆脱“僵尸”频道

时间:2020-11-01 06:09:55

标签: django-channels

在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中删除其记录?

0 个答案:

没有答案