Открыть поток(и) WebSocket на основе содержимого страницы Django
Во-первых, я очень открыт для того, чтобы услышать исправления дизайнерских решений, если я просто делаю это неправильно.
Установка: Приложение фондового рынка на основе Django с Celery, использующее брокер redis. Я получаю живые данные из API alpaca.markets. У меня также запущен фоновый сервис на основе Python, который запускает асинхронные задачи на основе различных событий.
Общая мечта: Я хочу открывать поток данных в реальном времени для каждого символа, который отображается на странице. Я хочу, чтобы мой фоновый сервис запускал этот живой поток, чтобы он мог вернуть его на страницу, а также сравнить его с алгоритмами на бэкенде.
Текущий (неудачный) дизайн: Когда страница загружается, Django успешно запускает задачу Celery, которая возвращает данные о том, какие акции отображаются на этой странице. Я могу посмотреть данные в Admin в разделе django_celery_results/taskresult/ и в DB в разделе result таблицы django_celery_results_taskresult. Я не могу заставить свой сервис увидеть новую задачу и соответствующие возвращаемые символы
Другая информация:
- У меня настроен и работает ASGI с daphne
- Я успешно отобразил живые данные на странице
- Мой фоновый сервис является асинхронным
- Я могу видеть необработанные данные, когда следую принятому здесь ответу: Как я могу имитировать команду redis MONITOR в скрипте python, используя redis-py? .
- Нет проблем с лимитами/соединениями/API .
Актуальный вопрос: Как я могу эффективно получить список символов для моей фоновой службы, когда страница загружается в моем приложении Django?
Кроме того, я уверен, что упустил что-то, поэтому, пожалуйста, дайте мне знать, какую конкретную информацию я могу предоставить, чтобы помочь мне получить правильный ответ. Я могу поделиться любым кодом, который вы захотите, но я, честно говоря, не был уверен, с чего начать.