Django, управление потоками и websocket для сайта визуализации данных
Я начинающий Django и вот проект:
Я создаю сайт для визуализации данных. Я загружаю непрерывный поток данных и хочу, чтобы клиент мог выбрать обработку данных (на python, например, обработка IA с помощью tensorflow). После того как клиент выберет обработку, я хочу иметь возможность запускать ее в потоке и отправлять результаты клиенту каждые X секунд через websocket (и иметь возможность обрабатывать сообщения websocket, приходящие от клиента в то же время).
Я уже делал это с Flask, но у меня не получается с django.
Я просмотрел много руководств, в частности это, которое кажется похожим на то, что я хочу сделать: https://www.neerajbyte.com/post/how-to-implement-websocket-in-django-using-channels-and-stream-websocket-data
Главная проблема в том, что я не знаю, как или даже где создать свой поток. Я не могу сделать это в классе AsyncWebsocketConsumer, потому что он не позволяет мне запустить поток, способный отправить Websocket запрос (мне нужно запустить async функцию, чтобы иметь возможность отправить запрос, а я не могу запустить async функцию в потоке).
Одно из решений, предложенных в приведенном выше руководстве для регулярной отправки данных, заключается в создании управляющей команды. Решение, которое меня тоже не устраивает, поскольку функция, выполняемая таким образом, не может быть выбрана клиентом в классе AsyncWebsocketConsumer.
Вот и я здесь, я действительно пытаюсь найти решение. Я слышал кое-что о Celery и Gunicorn form здесь и там. Что вы думаете о них? И как они могут решить мою проблему?
Я открыт для любого совета, любого руководства, любой идеи, которая может позволить мне продвинуться вперед в моем проекте.