首页 > 解决方案 > Django 从 UDP 接收数据并存储在 DB 中,前提是来自 websockets 的条件设置为 true

问题描述

我正在尝试为桌面应用程序实现一个相当复杂的架构(不是分布式的,所以可以使用服务器通常采用的技术 - 请不要告诉我使用电子或 .NET)。

它基本上必须存储来自 UDP 流的数据(新数据频率约为 90Hz)。应用程序还应该打开一个 websocket 服务器并接受新的客户端,特别是来自平板电脑的客户端。平板电脑用户应该能够设置一个标志,启用或禁用数据存储。

这是一个非常简单的系统块方案

我之前已经使用过 Django,但用于更标准的用法(CMS、REST API 等)。经过一番研究,我发现了一些可以用来构建系统的工具:

1 - Celery,据我了解,它可以运行异步任务(我想我可以使用它来存储来自 UDP 流的数据,可能在累积了一百个左右的值之后)

2 - Django 频道,应该可以帮助我进行 websocket 通信

3 - Twisted,用于接收 UDP 消息。

令我困惑的是如何集成这些组件,并在它们之间交换数据。看起来 twisted 是一个完全独立的服务器,那么我如何运行一个将输入作为数据并将其写入 django 模型的 celery 任务?

我应该如何实现来自 webosckets 的标志?全局变量?

任何帮助表示赞赏!

标签: djangowebsocketudpcelerytwisted

解决方案


推荐阅读