gpt4 book ai didi

ruby-on-rails - 重新启动Unicorn问题(capistrano)

转载 作者:行者123 更新时间:2023-12-04 13:12:01 25 4
gpt4 key购买 nike

我在deploy.rb中具有以下设置来重新启动服务器:

namespace :deploy do
task :restart do
run "if [ -f #{unicorn_pid} ] && [ -e /proc/$(cat #{unicorn_pid}) ]; then kill -USR2 \`cat #{unicorn_pid}\`; else cd #{deploy_to}/current && bundle exec unicorn -c #{unicorn_conf} - E #{rails_env} -D; fi"
end
end

但这是行不通的。我的意思是该命令执行了(它询问我密码并且没有给出错误),但是配置文件中的所有更改仍然被忽略(即工作进程数或数据库设置)。

最佳答案

也许这是由于 unicorn 重启的方式。并非每个工作人员都会立即重新启动。这样可以使停机时间为零,并且不产生任何请求。如果您想确定要查看更改,请尝试停止然后再启动您的应用程序。我不得不做几次。当然,您可能会放弃一些请求。

以下任务是我用于重新启动,停止和启动我的 unicorn 服务器的任务。

desc "Zero-downtime restart of Unicorn"
task :restart, :except => { :no_release => true } do
run "kill -s USR2 `cat #{shared_path}/pids/unicorn.pid`"
end

desc "Start unicorn"
task :start, :except => { :no_release => true } do
run "cd #{current_path} ; bundle exec unicorn_rails -c config/unicorn.rb -D -E production"
end

desc "Stop unicorn"
task :stop, :except => { :no_release => true } do
run "kill -s QUIT `cat #{shared_path}/pids/unicorn.pid`"
end

希望这对您有所帮助。

也许 this文章很有趣。

关于ruby-on-rails - 重新启动Unicorn问题(capistrano),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9020900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com