如果我在企业乘客中配置滚动重启,然后触摸restart.txt,我该如何以编程方式检查流程是否已完成,并且可以保证旧版本不再提供服务?
答案 0 :(得分:0)
我知道问题被问到已经有一段时间了,但是对于像我一样在谷歌搜索时发现这个问题的其他人来说这是一个答案:
当您执行“touch tmp / restart.txt”时,您可以使用以下命令检查乘客流程状态:
rvmsudo passenger-status
然后,您将看到一些在其下面有“滚动重启”行的进程。 完成后,您还可以检查每个乘客进程的正常运行时间(使用相同的命令)。
当然,当您重新启动乘客应用程序时,整个滚动重启完成后的正常运行时间应为几秒钟。这应该证明您的应用程序正确重新启动并使用新版本。
最后,如果您真的非常确定您的应用程序使用新版本,您只需在您的一个视图中添加应用程序的“版本号”(可能在您的管理视图或秘密视图中或在你的网站的合法...)。
您可以使用capistrano在每次部署时自动增加版本。 (但是如果你使用capistrano你不需要这个'版本控制'我认为;-))。