Keepalive
如何避免 heroku 停止我的測功機?
我定期為客戶建構MVP 。我經常在 Heroku 上進行部署,這樣他們就可以查看產品是否有效並向潛在客戶和投資者展示。
然後我在heroku上部署了一個應用程序,它就像一個魅力,如果不是為了一件小事。該應用程序需要大約 30 秒才能啟動,而且 heroku 有一個惱人的習慣,如果他們沒有獲得流量,就會殺死他們。我的客戶現在正在使用該應用程序進行展示,因此負載非常低且間歇性。
我正在尋找一個最好的解決方案:
- 具有成本效益
- 可以同時應用於多個應用程序
避免第一個請求需要 30 秒的最佳方法是什麼?
Heroku 現在有一個與 cron 等效的附加組件,稱為**Scheduler**。基於教程:
- 在 app/lib/tasks 中,添加一個以
scheduler.rake
定義此任務命名的文件:desc "This task is called by the Heroku cron add-on" task :call_page => :environment do uri = URI.parse('http://www.myapp.org/') Net::HTTP.get(uri) end
- 從 Heroku 控制面板或控制台添加“Scheduler”外掛:
heroku addons:add scheduler:standard
3. 將調度程序配置為每小時執行一次此任務。
heroku addons:open scheduler
我懷疑這是 Heroku 的首選方法,因為 Heroku 社區代表在一次演講中展示了這種技術。