[英]Best practices for retrieving the most recent data from a database and presenting it on a website
我的項目中有以下堆棧:
Cronjobs 每 15 分鍾運行一次,以使用來自 API 的數據填充 MySQL 數據庫。 同時,flask 應用程序呈現此日期。 因此,每次用戶訪問網站時,都會加載包含大量數據的表。 向數據庫發出請求以加載數據。 數據將作為響應顯示在引導表中。
我希望用戶能夠刷新表數據(通過單擊refresh
按鈕)並始終查看最新數據(而不必等待 cronjob 重新啟動和更新數據庫)。 如果每次用戶點擊refresh
按鈕時,我再次觸發從API導入數據,該操作將非常耗時,並且整個數據將加載幾分鍾才能再次顯示頁面。 刷新從數據庫加載的表數據的最佳方法是什么?
這個問題可以通過支持鎖定的任務隊列輕松解決,例如huey (如果你想要一些簡單的東西)。
讓我們調用獲取 API 並更新本地數據庫的任務: fetch_api()
。 它可以由 cron 或用戶運行。
fetch_api()
任務實例可以並發運行。 這樣,當用戶點擊刷新按鈕時,一個fetch_api()
任務就可以入隊,任務運行器將處理 rest。 關鍵是鎖定,因此只有一個任務會獲取 API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.