Из-за жалоб unicorn_rails на различные версии гемов мы перешли к запуску bundle exec unicorn_rails ... в наших файлах bluepill. Это изменение решило эту конкретную проблему, и все началось и прекратилось, но когда мы попробуем статус sudo bluepill, мы получим
единорог (пикс: XXXXXX): без контроля
Похоже, что bluepill сейчас не отслеживает процессы единорога. Он перезапустит дочерние процессы, если я остановлю их, но не перезапустит родительский процесс.
Я искал вокруг, но не могу найти много об этой проблеме и надеялся, что кто-то может пролить свет на это. Файл конфигурации bluepill
app_dir = "/opt/local/share/httpd/apps/xyz"
Bluepill.application('xyz', :log_file => "#{app_dir}/current/log/bluepill.log") do |app|
app.process('unicorn') do |process|
process.pid_file = "#{app_dir}/shared/pids/unicorn.pid"
process.working_dir = "#{app_dir}/current"
process.stdout = process.stderr = "#{app_dir}/shared/log/unicorn.err.log"
process.start_command = "bundle exec unicorn_rails -D -c #{app_dir}/current/config/environments/production/unicorn.rb -E production"
process.stop_command = "kill -QUIT {{PID}}"
process.restart_command = "kill -USR2 {{PID}}"
process.start_grace_time = 8.seconds
process.stop_grace_time = 5.seconds
process.restart_grace_time = 13.seconds
process.monitor_children do |child_process|
child_process.stop_command = "kill -QUIT {{PID}}"
child_process.checks :mem_usage, :every => 10.seconds, :below => 200.megabytes, :times => [3,5]
child_process.checks :cpu_usage, :every => 10.seconds, :below => 50, :times => [3,5]
end
end
end