在 Capstrano 部署之后,发现 Assert 丢了. 去服务器看了一下发现是有的,正确编译的。但是仔细对了一下 signature 发现不对的。 Capstrano production deploy 之后还是不行。问题如上,重启 nginx 不行,在服务器端重起 unicorn 可以了 kill -s USR2 'cat /tmp/pids/unicorn.pid'
不明白为什么,求解!
t
@huacnlee 发现 ruby-china 一个 bug 就是把 flash 信息给缓存了,更新之后刷新不会消失。恩
那就是 unicorn 没有重启喽。
因为你不重启,内存中的代码是旧版本的啊,当然不行。所以,楼主,用这个 https://github.com/sosedoff/capistrano-unicorn 自动处理 capistrano 部署后重启 unicorn 服务器。
#3 楼 @Martin91 #2 楼 @zgm 是有的。 在部分情况下是可以的,但是偶尔会出现一下(目前是第二次遇到),目前没找到规律。想了解一下,别人是否也遇到这种情况。
unicorn 重启不完全。重启时 master 进程没有完全 kill 掉. 参考一下这个 unicorn 配置 https://github.com/TalkingQuickly/capistrano-3-rails-template/blob/master/config/deploy/shared/unicorn.rb.erb