以下链接到我的独角兽的init脚本. https://gist.github.com/1466775
重启命令从来没有对我有用.我在每次部署后使用升级来重启unicorn.但是每当有新的宝石被添加等重大变化时,升级都不会起作用.最近,我用airbrake替换了hoptoad gem,并且错误地说'未初始化的恒定Airbrake(NameError)'.但当我停下来再次开始独角兽时,它运作良好.问题出在init脚本或其不同的问题上吗?
谢谢.
kaj*_*aji 12
根据您的init脚本,"/ bin/init.d/unicorn restart"将HUP信号发送到unicorn主进程
------裁剪
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
su - $USER -c "$CMD"
Run Code Online (Sandbox Code Playgroud)
-----裁剪
这就是HUP对独角兽进程的作用:
重新加载配置文件并优雅地重新启动所有工作程序.如果"preload_app"指令为false(默认值),则工作人员还会在重新启动时获取任何应用程序代码更改.如果"preload_app"为true,则应用程序代码更改将不起作用.
您正在寻找的是USR2信号,您的独角兽升级参数已经在进行!
USR2信号重新执行正在运行的二进制文件.一旦确认孩子已启动并正在运行,应将单独的QUIT发送到原始流程.
tox*_*xaq 10
我有一个非常相似的问题,终于找到了解决方案
我之前查看了日志,但显然没有看到(Bundler::GemfileNotFound)错误.事实证明,对早期版本有旧的引用,一旦gem文件发生变化,新的master会无声地失败.尾巴-f你的独角兽日志,看看会发生什么.我的问题都是根据我的unicorn.rb中的以下链接修复的
before_exec do |server|
ENV['BUNDLE_GEMFILE'] = "#{root}/Gemfile"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5460 次 |
| 最近记录: |