每当我想部署我的新版rails应用程序时。我想停止接受来自客户端的请求。
示例:用户正在填写表单。在后面我正在升级我的rails web(不是rails或ruby版本)。当用户在升级或发生升级时提交表单时,我想显示类似“网站已升级”的内容,请再试一次'。它实际上是可能的,还是某种方式来实现它。
编辑:让我们说用户填写一个大表格10分钟(尚未按下提交)。我们的升级需要1分钟,当用户提交时,想要显示消息。
答案 0 :(得分:1)
答案 1 :(得分:0)
一种常见的方法是在大量发布之前将站点切换到维护模式。在维护模式下,所有功能都处于脱机状态,服务器使用相同的静态html回复所有请求(“网站正在维护,请稍后再试”或其他)。
例如,在heroku this is built-in中。
在大发布之前,您启用了维护模式
heroku maintenance:on
您的发布,升级数据库等,然后将网站重新联机
heroku maintenance:off
如果你不在heroku上,你要么必须自己实现(这个想法非常简单),要么就是这样的宝石。
答案 2 :(得分:0)
我建议你考虑让nginx服务于维护页面,你必须构建一个由nginx服务的html页面
请阅读以下文章,了解如何使nginx服务于维护页面