WebSocket не подключается |. Каналы Django | WebSocket
Я использую потребитель WebsocketConsumer и когда я отключаю соединение websocket, он выдает следующую ошибку.
Также, когда у меня уже есть одно открытое соединение и когда я пытаюсь создать соединение с тем же маршрутом, он получает Disconnected и выдает ту же
Application instance <Task pending name='Task-5' coro=<StaticFilesWrapper.__call__() running at /Volumes/Data/Projects/LocoNav-LM/vt-lm-server/venv/lib/python3.8/site-packages/channels/staticfiles.py:44> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/futures.py:360, <TaskWakeupMethWrapper object at 0x1076a2580>()]>> for connection <WebSocketProtocol client=['127.0.0.1', 54789] path=b'/ws/users/'> took too long to shut down and was killed.
Мой код:-
class TestMultipleUsers(WebsocketConsumer):
def connect(self):
logging.info('connecting....')
self.accept()
redis_client = RedisClient(host='localhost', port=6379, db=0)
redis_client.subscribe_and_listen()
redis_client.subscribe_channel('test')
for message in redis_client.sub.listen():
if message is not None and isinstance(message, dict):
print(message)
self.send(text_data="1")
def receive(self, text_data):
text_data_json = json.loads(text_data)
message = text_data_json['message']
self.send(text_data=json.dumps({
'message': message
}))
def disconnect(self, close_code):
logging.info('disconnecting....')
logging.info(close_code)
Однако, когда я отсоединяю веб-сокет от Postman, метод disconnect никогда не вызывается.
requirements.txt
channels==3.0.4
Django==4.0
celery==5.2.3