Первое. daphne — на помойку. Я в своё время наплевался с неё и переехал на gunicorn + uvicorn. Потому что daphne вообще не настраивается. Вот сколько у вас процессов-воркеров, по-вашему? А сколько потоков? А сколько ивент-лупов? А зачем ему сертификаты? Стало быть, это сервер, который может торчать наружу? Но ведь это не так.
Второе — в зависимости от типа задачи, которая выполняется "3-10 секунд", нужно или забить на это, или выносить в очередь. Если это IO, то асинхронная функция может длиться хоть вечность, она не будет влиять на соседние запросы (на самом деле конечно будет, но крайне незначительно). Если это CPU — только очереди задач. Celery например. Но с ним тоже много проблем, поэтому мы последнее время пишем самописные django-management команды, которые слушают очередь.
Третье. Джанга в целом не очень хорошо подходит для асинхронщины по дизайну (и вебсокетов соответсвенно тоже). Да, есть неуклюжие попытки в виде channels и даже django 3 по подружению её с миром асинка, но это всегда большие компромиссы с большим количеством "но". Поэтому, если есть возможность (например, проект стартовал "вчера"), то переезжай на что-то более способное в настоящую асинхронность (fastapi например)