Django получает данные из UDP и сохраняет их в БД, только если условие, поступающее из веб-сокетов, имеет значение true - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь реализовать довольно сложную архитектуру для настольного приложения (не для распространения, поэтому можно использовать технологию, обычно применяемую для серверов, - пожалуйста, не говорите мне использовать электрон или .NET).

В основном он должен хранить данные, поступающие из потока UDP (с новой частотой данных ~ 90 Гц). Приложение также должно открыть сервер веб-сокетов и принимать новых клиентов, в частности с планшета. Пользователь планшета должен иметь возможность устанавливать флаг, включая или отключая хранение данных.

Это очень простая блочная схема системы

Я уже использовал Django раньше, но для более стандартного использования (CMS, REST API и т. Д.). После некоторых исследований я нашел несколько инструментов, которые мог бы использовать для построения системы:

1 - Celery , который, на мой взгляд, позволяет выполнять асинхронные задачи (я думаю, я мог бы использовать его для хранения данных, поступающих из потока UDP, возможно, после накопления сотни значений или около того)

2 - Каналы Django , которые должны помочь мне в общении через веб-сокет

3 - Twisted , для приема сообщений UDP.

Что меня смущает, так это то, как интегрировать эти компоненты и обмениваться данными между ними. Похоже, что twisted - это полностью отдельный сервер, так как я могу запустить задачу сельдерея, которая принимает входные данные в виде данных и записывает их в модель django?

Как мне реализовать флаг, приходящий из webosckets? глобальная переменная?

любая помощь приветствуется!

...