gpt4 book ai didi

python - 多个消费者和单一数据源的设计模式

转载 作者:太空狗 更新时间:2023-10-30 03:07:42 25 4
gpt4 key购买 nike

我正在为提供自己的自定义 API 的特定硬件设备设计 Web 界面。所述网络界面可以同时管理多个设备。数据是通过自定义 API 轮询从设备中检索的,因此最好使其异步。

最明显的事情是有一个轮询器线程轮询数据,使用信号量保存到进程范围的单例中,然后 Web 服务器线程将从所述单例中检索数据并显示它。我不是单例或混搭设计的忠实拥护者,所以我在考虑将轮询器数据源与 Web 服务器分开,将其循环回本地接口(interface)并使用 XML-RPC 之类的东西来使用数据。

该应用程序实际上不需要是“企业级”或可扩展的,因为它一次最多只能由几个人访问,但我宁愿通过不将两种逻辑混合在一起来使其健壮。目前有一个使用 CherryPy 的 python 实现,它是我见过的最糟糕的设计大杂烩。我觉得如果我采用最明显的设计,我最终只会以我自己的方式重新实现同样可怕的事情。

最佳答案

如果您使用 Djangocelery ,您可以创建一个 Django 项目作为 Web 界面,并创建一个 celery 作业在后台运行并进行轮询。在该作业中,您可以导入 Django 模型,这样它就可以非常简单地保存轮询结果。

关于python - 多个消费者和单一数据源的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3639607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com