gpt4 book ai didi

ruby-on-rails - 如果使用-m “monitor”选项运行它,如何停止delay_job?

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

如果使用-m“monitor”选项运行它,如何停止delay_job?进程不断重启!

我开始使用delay_job的命令是:

script/delayed_job -n 4 -m start

-m运行一个监视进程,如果一个进程死亡,它将生成一个新的delay_job进程。

我用来停止的命令是:
script/delayed_job stop

但这不会停止监视进程,而监视进程又会重新启动所有进程。我只希望他们走开。我可以杀死它们,但是我希望有一些命令行选项可以关闭整个过程。

最佳答案

在我的capistrano部署脚本中,我有以下内容:

desc "Start workers"
task :start_workers do
run "cd #{release_path} && RAILS_ENV=production script/delayed_job -m -n 2 start"
end

desc "Stop workers"
task :stop_workers do
run "ps xu | grep delayed_job | grep monitor | grep -v grep | awk '{print $2}' | xargs -r kill"
run "cd #{current_path} && RAILS_ENV=production script/delayed_job stop"
end

为避免可能导致您的部署脚本停止的任何错误,请执行以下操作:
  • “ps xu”仅显示当前用户
  • 拥有的进程
  • “xargs -r kill”仅在有要杀死
  • 的东西时才调用kill命令

    我只杀死了delay_job监视器,并以正常方式停止了delay_job守护进程。

    关于ruby-on-rails - 如果使用-m “monitor”选项运行它,如何停止delay_job?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759543/

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