我正在运行独角兽,我正试图让零停机重启工作.
到目前为止,这是一个非常棒的酱油,主要的过程分叉和启动4个新工人,然后杀死旧的,每个人都很高兴.
我们的脚本发送以下命令来重启unicorn:
kill -s USR2 `cat /www/app/shared/pids/unicorn.pid`
Run Code Online (Sandbox Code Playgroud)
从表面上看,一切看起来都很棒,但事实证明,独角兽并没有重新加载生产.rb.(每次部署时,我们都会将config.action_controller.asset_host值更改为新的CDN容器端点,其中包含预编译的资产).
以这种方式重新启动独角兽之后,资产主机仍然指向旧版本.进行真正的重启(即:停止主进程,然后从头开始再次启动独角兽)选择新的配置更改.
preload_app被设置为true在我们麒麟配置文件.
有什么想法吗?