My application uses a data file, that is refreshed with new data daily. The read operation for the data in my app is cached, however I would like to enforce, that the file is reread once or maybe twice a day. Is there a way built-in Streamlit to do this? If not, I would probably determine the file timestamp and then force the read function to be executed. How would that work, is there any command such as:
@st.cache(allow_output_mutation=True)
def read_files() -> pd.DataFrame:
...
return data
if expired(file):
st.reset_cache
data = read_files()
Is there a way to refresh the cache on a specific schedule? For example, I’d find it useful to refresh the cache every day at 3AM. Using ttl makes the refresh dependant on the time the app was started and that’s less ideal.
Just following up the above question.
I want to clear the cache everyday at 10 clock. So, when a user logs in to my app , and if the time is above 10, I have to clear the cache and rerun the app.
Is there anyway to do it