部署 请教 Assert 文件不能正确的加载?

lmorenbit · 2014年07月18日 · 最后由 flypiggys 回复于 2014年07月21日 · 1902 次阅读

在 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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号