[问题] 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