Put some job in a while thread to update everything forever

I’m working on neat dashboard to show some real-time chart and dataframe, etc… I used dash.plotly before until I found you here, thanks for the great job!
I wonder If st.rerun() may cause a complete reload( am I right? ), can I set up a thread and put a while True job in it, receiving an ZMQ or sth, organize and compute some data, then update everything on the page, is that a better solution?
Another problem came up, how do we deal with the endless increasing data? I’ve seen st.add_row() but without an st.pop_row() or delete. If I use a big dataframe to control append/pop, we still need to render the whole df on each update?