重新部署应用程序时,活动用户会话会发生什么?

时间:2010-01-21 21:44:01

标签: ruby-on-rails

我正在从php迁移到ruby / rails,我一直很好奇的一件事就是在php中如果我想进行实时更改,我可以简单地编辑文件,点击保存就可以了活跃的(假设我在现场环境中进行编辑);我的用户没有应用程序重新部署或停机。

使用rails,我做的几乎所有更改都需要重新部署应用程序(我认为?)。

当我重新部署实时应用程序时,所有正在使用该应用程序的实时用户会话会发生什么情况,是否强行将其重新部署并要求他们重新登录?如果他们在应用程序重新部署时刷新,他们会看到错误吗?

很抱歉,如果这有明显的答案,但我在书/教程中看不到它。谢谢

4 个答案:

答案 0 :(得分:2)

Rails在cookie中存储会话(默认情况下),因此在部署后不会丢失它。大多数行为都是无国籍的,你想要的只是通过params或url地址(路线)传递。

用户在部署时看到的内容取决于您的服务器和部署策略。

答案 1 :(得分:1)

在PROD设置中运行rails应用程序时,必须重新启动服务器才能使代码生效。您可以选择在数据库,文件存储,cookie中存储会话。 Cookie限制了您可以使用的大小。因此,最好的方法是使用数据库,它将在会话重启期间存储会话。

答案 2 :(得分:0)

Rails支持多种存储会话的方式,包括数据库和文件存储。在这种情况下,他们不必重新登录。您必须重新启动服务器才能部署rails代码更改,但这通常需要几秒钟。

答案 3 :(得分:0)

您可以查看该行的production.rb环境

config.cache_classes = true

如果您将其设置为false,您将(在某些情况下)能够应用更改而无需重新部署(即服务器重新启动)。