Keepalive

如何避免 heroku 停止我的測功機?

  • January 11, 2013

我定期為客戶建構MVP 。我經常在 Heroku 上進行部署,這樣他們就可以查看產品是否有效並向潛在客戶和投資者展示。

然後我在heroku上部署了一個應用程序,它就像一個魅力,如果不是為了一件小事。該應用程序需要大約 30 秒才能啟動,而且 heroku 有一個惱人的習慣,如果他們沒有獲得流量,就會殺死他們。我的客戶現在正在使用該應用程序進行展示,因此負載非常低且間歇性。

我正在尋找一個最好的解決方案:

  • 具有成本效益
  • 可以同時應用於多個應用程序

避免第一個請求需要 30 秒的最佳方法是什麼?

Heroku 現在有一個與 cron 等效的附加組件,稱為**Scheduler**。基於教程

  1. 在 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
  1. 從 Heroku 控制面板或控制台添加“Scheduler”外掛:

heroku addons:add scheduler:standard 3. 將調度程序配置為每小時執行一次此任務。

heroku addons:open scheduler

我懷疑這是 Heroku 的首選方法,因為 Heroku 社區代表在一次演講中展示了這種技術。

引用自:https://serverfault.com/questions/384063