当我触摸restart.txt时,Phusion Passenger是否正常重启

问题描述 投票:6回答:3

它会在重新启动之前完成所有当前请求的服务吗?

ruby-on-rails passenger
3个回答
2
投票

我的印象是每个乘客应用程序实例在处理请求后死亡,而不是在触摸restart.txt时在下一个请求之前重新启动。因此,每位乘客都会有一个请求延迟。当进程退出并且应用程序生成器只生成一个新实例时,我不会称之为“优雅”。

这意味着对应用程序的单个实例的下一个请求将由该实例的版本回答,然后退出(在完成其工作之后)。当前正在运行的请求不会被终止。


4
投票

简答:是的!

实际上,它将允许当前请求完成,并以新版本提供新请求。我试图找到这个参考,但暂时找不到任何。


0
投票

来自documentation

“如果您使用passenger-config restart-app或restart.txt或重新启动应用程序,则Passenger在重启期间不会丢弃任何请求。”

also

“在关闭或重新启动应用程序进程之前,Passenger执行两项操作:

  1. 它等待直到发送到该进程的现有请求完成。这样,现有请求将优雅地完成。
  2. 它中止WebSocket连接。这是因为WebSocket连接可以保持打开一段任意时间并阻止关机/重启。“
© www.soinside.com 2019 - 2024. All rights reserved.