Django получает данные из udp и сохраняет в бд, только если условие, исходящее от веб-сокетов, установлено на true

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

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

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

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

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

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

3 - Скрученный, для приема сообщений UDP.

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

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

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

Забудьте пока о каналах Celery и Django. Просто используйте Twisted и хорошо интегрированную с Twisted-websockets-library Autobahn. Как только вы лучше поймете, как работает Twisted, если ты все еще думаешь, что тебе это нужно, начните думать о том, как вы могли бы интегрировать Celery (или каналы Django, я полагаю). Однако ничто в этом вопросе не предполагает, что вам нужно больше, чем Twisted.

Jean-Paul Calderone 31.10.2018 13:42

На самом деле я не сказал, что сохраненные данные должны обслуживаться с помощью REST API вместе с другими объектами в базе данных, отсюда и необходимость в Django. Само изменение состояния флага должно быть сохранено как событие

ston3coldcrazy 31.10.2018 14:35
0
2
332
0

Другие вопросы по теме