我正在为某个提供自己的自定义API的硬件设备设计一个Web界面。所述web界面可以一次管理多个设备。通过使用自定义API进行轮询,可以从设备中检索数据,因此最好使其异步。
最明显的事情是有一个轮询数据的轮询线程,保存到具有信号量的进程范围的单例中,然后Web服务器线程将从所述单例中检索数据并显示它。我不是单身人士或混合设计的忠实粉丝,所以我想可能将轮询器数据源与Web服务器分离,将其循环回本地接口并使用XML-RPC等消耗数据。
应用程序不一定是'enterprisey'或可扩展的,因为它一次最多只能由几个人访问,但我宁愿通过不将两种逻辑混合在一起来使其健壮。在使用CherryPy的python中有一个当前的实现,它是我见过的最糟糕的糟糕设计混搭。我觉得如果我选择最明显的设计,我最终会以自己的方式重新实现同样可怕的事情。