При отключении или обновлении вебсокета Django channels "потребовалось слишком много времени для отключения и он был убит"

Я использую Django Channel для отправки и сохранения данных в реальном времени, но когда я обновляю страницу, появляется ошибка.

log

Application instance <Task pending name='Task-2' coro=<StaticFilesWrapper.__call__() running at path\channels\staticfiles.py:44> wait_for=<Future pending cb=[Task.task_wakeup()]>> for connection <WebSocketProtocol client=['127.0.0.1', 50991] path=b'/ws/graph/'> took too long to shut down and was killed.

consumer.py

async def connect(self):
    await self.accept()

Ваш код кажется неполным, проверьте документацию и/или отредактируйте сообщение, чтобы мы могли понять, в чем заключается ваша проблема.

Решения в этом посте на GitHub могут помочь вам: https://github.com/django/channels/issues/1119

Это только мое предположение, я думаю, что while не завершается, поэтому попробуйте завершить while, когда он отключен.

async def connect(self):
    await self.accept()
    self.event_close = False
    while not self.event_close:
        await event.startReadMessage("HostName","name",cb)

async def disconnect(self, close_code):
    self.event_close = True
Вернуться на верх