我定期为客户构建MVP。我经常在 Heroku 上部署,以便他们可以查看产品是否有效并向潜在客户和投资者演示。
然后我在 heroku 上部署了一个应用程序,它就像一个魅力,如果不是为了一件小事。该应用程序需要大约 30 秒才能启动,如果没有流量,heroku 有一个令人讨厌的习惯,即杀死 dyno。我的客户现在将该应用程序用于演示目的,因此负载极低且断断续续。
我正在寻找一个最好的解决方案:
避免第一个请求花费 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
Run Code Online (Sandbox Code Playgroud)从 Heroku 控制面板或控制台添加“调度程序”插件:
heroku addons:add scheduler:standard
将调度程序配置为每小时运行一次此任务。
heroku addons:open scheduler
我怀疑这是 Heroku 的首选方法,因为 Heroku 社区代表在一次演讲中演示了这种技术。
| 归档时间: |
|
| 查看次数: |
8373 次 |
| 最近记录: |