[英]Access sqlite database from different callbacks in plotly dash (python)
我們有一個由兩個 C++ 應用程序(作為 exe 運行)和一個 Python 中的繪圖儀表板組成的系統。 它是一個離線系統(在本地主機上運行的dash),使用sqlite 數據庫(WAL 模式)來存儲數據並在不同組件之間進行交互。
每個 C++ 組件都有一個通過相應程序傳遞的開放數據庫連接,這工作正常。
現在我的問題是如何在 python/dash 方面處理這個問題,因為我對 dash 不夠了解(我不是 dash 程序員)。
最高效的方法可能是重用回調之間的連接。 但是,正如您所注意到的,如果您使用多個線程/進程,則使用這種方法必須小心。 一種可能的設計是使用線程本地連接池,但對於您的用例來說可能有點矯枉過正。 打開/關閉 sqlite 連接的開銷在幾十微秒的數量級,因此它可能不會對性能產生太大影響。 但我建議測試一下。
Dash 使用的線程/進程數量取決於底層 Flask 服務器的配置。 如果您設置threaded=True
,則每個請求都將在單獨的線程中處理。 使用開發服務器,可以直接傳參數,即
app.run_server(threaded=True)
或者,您可以傳遞processes=X
且X > 1
以使用多個進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.