[問題] Dash callback 取用資料疑問

作者: NoLoveNoMore (不要阿~~)   2024-03-06 13:19:01
先說我是自學的
目前用 Dash 寫了一個 盤中股票監控的 WEB APP
其中有一個 function
def get_realtime_data():
quotes = ...
data = pd.concat([self.old, quotes]).sort_index()
return data
是將歷史資料與最新的盤中報價合在一起
每1分鐘會跑一次這個 function
這個 function 約需要跑 10 秒(還有其他細項算均線等)
但是如果其他 components 在這十秒鐘需要用到這個 data 時
整個 APP 就需要等待10秒到獲取最新DATA才會繼續
要如何解決?
目前想法是,用另外一個如 realtime.py 檔將這個 function 放在 realtime.py 中
也是每 N 秒跑一次 function 並將 data 存成 pkl 檔
而 Dash 直接 read 這個 pkl 檔不須再做運算
應該是可行,但如此頻繁存取檔案,會不會對硬碟有影響?
這個檔案大概 200mb,也就是每 N 秒就要刪除重建一次這個檔案
另外還有用 SQL 資料庫
但因為我是自學的 SQL完全不懂
不知還有沒有更好的方式避免 dash run 這個 function 時不要當掉?
作者: lycantrope (阿寬)   2024-03-06 13:33:00
multiprocess+queue或async
作者: ddavid (謊言接線生)   2024-03-06 15:30:00
multi-threading?
作者: f416720001 (Gemini翔)   2024-03-08 21:01:00
沒用過dash 但這需求需要的是要有地方儲存吧,sql存個資料吧
作者: lycantrope (阿寬)   2024-03-09 12:58:00
寫一個function每60秒跑一次,有這麼複雜w

Links booklink

Contact Us: admin [ a t ] ucptt.com