ruby-on-rails – 如何在不放下应用的情况下推送到Heroku
只是想知道每个人如何在Heroku上将更新推送到他们的生产服务器,而不会让应用程序停机几秒钟?
推送到Heroku(特别是使用像Unicorn这样的东西)需要一段时间才能加载Web应用程序.特别是当有最终用户试图访问该网站时.他们最终得到503页.加载Unicorn进程需要30秒到一分钟. 解决方法
你需要做两件事才能做到这一点,这并非易事.
1)迁移需要向后兼容(即,在应用程序运行时运行).请参阅此文章:http://pedro.herokuapp.com/past/2011/7/13/rails_migrations_with_no_downtime/ 2)使用两个heroku应用程序进行部署.我和Heroku就这个主题开了一张票,这是他们的答复:
如果你这样做,你会希望尽可能自动化,因为有很多方法可以搞砸了.这是一篇关于该主题的文章:http://casperfabricius.com/site/2009/09/20/manage-and-rollback-heroku-deployments-capistrano-style/ 为什么? 必须同时完成这两个解决方案,因为数据库迁移必须在代码的两个(实时和即时)版本中工作.一旦你有了这个工作,那么你可以解决第二个问题,让应用程序本身看起来不像它已经失效.一旦推动开始,就没有支持的方式来旋转和降低单个动态. 更新: heroku labs:启用-a APP_NAME预启动 这将在推送期间更改应用程序的行为.它将推升一个将热身两分钟的并行实例.推送几乎两分钟后,所有流量都将路由到新的应用程序.如上所述,请注意迁移,因为它们仍然是一个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Ajax对表格中的信息不刷新页面进行更新数据
- postgresql – 用于在重复UPDATE上进行UPSERT或I
- 在VB.NET中,我可以将一个函数标记为已弃用吗?
- IVY throws IOException Resetting to invalid m
- 正则表达式 – 在一个语句中用于多个替换的sed中
- 详解ajax +jtemplate实现动态分页
- ruby-on-rails – Rails:使用groupdate和chartk
- 解决方案:sqlite 对datetime型的数据读取错误
- flash – Youtube网络摄像头录制如何工作?其他摄
- 通过SaxReader解析xml配置文件(上班第一天)