Debido a unicorn_rails quejándose de diferentes versiones de gemas, pasamos a ejecutar bundle exec unicorn_rails ... en nuestros archivos bluepill. Este cambio se resolvió el problema particular y cosas de arranque y parada, pero cuando tratamos de estado bluepill sudo que ahora recibeSupervisión del paquete exec unicorn_rails con bluepill
unicornio (pix: XXXXXX): sin control
que se parece a bluepill no está supervisando los procesos unicornio ahora. Reiniciará los procesos hijos si los detengo pero no reiniciaré el proceso principal.
He buscado pero no puedo encontrar mucho sobre este tema y esperaba que alguien pudiera arrojar algo de luz sobre él. El archivo de configuración es 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
Hemos implementado su solución por un tiempo, pero bluepill en realidad no presta atención al pid del proceso que se inicia cuando el proceso se autodemonia, solo espera que el archivo pid sea generado por el proceso que está ejecutando (es decir, unicornio). – d11wtq