Передача данных по асинхронному каналу

Имеется такой код:

<script>
var socket = new WebSocket('ws://localhost:8000/ws/some_url/');

socket.onmessage = function(event) {
    var data = JSON.parse(event.data);
    console.log(data);
    document.querySelector('#app').innerText = data.message;
}
</script>

.........

# 1
import json
from random import randint 
from time import sleep

#from channels.generic.websocket import WebsocketConsumer
from channels.generic.websocket import WebsocketConsumer

class WSConsumer(WebsocketConsumer):
    def connect(self):
        self.accept()

        for i in range(5):
            self.send(json.dumps({'message': randint(1, 100)}))
            sleep(1)
#2
import json
from random import randint 
from time import sleep

#from channels.generic.websocket import WebsocketConsumer
from channels.generic.websocket import AsyncWebsocketConsumer

class WSConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        self.accept()

        for i in range(10):
            await self.send(text_data=json.dumps({
                'message': 12
            }))
            sleep(1)

Первый вариант выводит каждую секунду на страницу случайные цифры, но при этом интерфейс страницы зависает. Что бы избавиться от зависания воспользовался асинхронным каналом, но цифры не выводятся, а в консоль выводится ошибка:

home:411 WebSocket connection to 'ws://localhost:8000/ws/some_url/' failed: Как исправить это?

Вернуться на верх