我正在編寫一個簡單的Ruby on Rails應用程序,它對ROR知之甚少。該應用程序將定期查詢Twitter和Instagram,爲特定用戶提取Feed並將其存儲在某個位置,然後可以在特定用戶的推文或照片的請求到達時快速訪問。Rake任務訪問Web應用程序的全局變量
我正在考慮編寫一個rake任務,這個任務將會定期獲取tweets和instagram照片。
如果webapp使用全局變量來獲取feed,那麼rake任務可以訪問這個全局變量並更新它嗎?
還是必須使用數據庫如此耙和Web應用程序可以更新/訪問相同的數據?
您認爲如何編寫一個控制器,其唯一目的是獲取推文和照片並使用新數據更新全局變量。然後有一個cron作業定期調用curl來觸發控制器? – septerr
另外,如果我執行控制器+ cron,是否會使web應用程序繁忙併導致定期請求到達隊列? Rails服務器是否運行多個線程來處理請求或單個線程?對不起,有很多問題。 – septerr
完全取決於部署配置。由於cronjob與rails服務器進程在同一臺計算機上運行,因此可能會耗盡資源,從而可能會降低http性能。在實踐中,像你描述的任務只會佔用最少的CPU資源。使用cron/rake任務時,必須將數據存儲在本地數據庫中,並讓rails服務器訪問該數據庫。 –