Закрытое соединение: Каналы Django с асинхронными вебсокетами
Я пытаюсь выполнить эту команду, но она продолжает закрывать соединение websocket:
#!/usr/bin/env python
from django.core.management.base import BaseCommand
from channels.layers import get_channel_layer
from asgiref.sync import async_to_sync
class Command(BaseCommand):
help = "Send message"
def handle(self, **options):
channel_layer = get_channel_layer()
msg = {
'type': 'hello',
'content': 'hello'
}
async_to_sync(channel_layer.group_send)('chat', msg)
print('done')
Я следовал всем шагам и примерам (как в этом руководстве: https://channels.readthedocs.io/en/latest/topics/channel_layers.html#using-outside-of-consumers), остальной код websocket работает (используя redis) и я могу отправлять/получать сообщения с javascript frontend страницы.
Вот вывод, который я получаю от команды:
Creating tcp connection to ('redis', 6379)
Closed 1 connection(s)
done
Я не вижу никаких ошибок Redis, это просто свежий контейнер docker.