簡體   English   中英

多個使用者和單個數據源的設計模式

[英]Design pattern for multiple consumers and a single data source

我正在為某個提供自己的自定義API的硬件設備設計Web界面。 所述web界面可以一次管理多個設備。 通過使用自定義API進行輪詢,可以從設備中檢索數據,因此最好使其異步。

最明顯的是有一個輪詢數據的輪詢線程,保存到具有信號量的進程范圍的單例中,然后Web服務器線程將從所述單例中檢索數據並顯示它。 我不是單身人士或混合設計的忠實粉絲,所以我想可能將輪詢器數據源與Web服務器分離,將其循環回本地接口並使用XML-RPC等消耗數據。

該應用程序不一定是'enterprisey'或可擴展的,因為它一次最多只能被幾個人訪問,但我寧願通過不將兩種邏輯混合在一起來使其變得健壯。 在使用CherryPy的python中有一個當前的實現,它是我見過的最糟糕的糟糕設計混搭。 我覺得如果我選擇最明顯的設計,我最終會以自己的方式重新實現同樣可怕的事情。

如果您使用Djangocelery ,您可以創建一個Django項目作為Web界面和芹菜作業在后台運行並進行輪詢。 在這項工作中,您可以導入Django模型,這樣可以非常簡單地保存輪詢結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM