Мониторинг пакета exec unicorn_rails с bluepill

Из-за того, что unicorn_rails жалуется на разные версии гемов, мы перешли к запуску пакета exec unicorn_rails ... в наших файлах bluepill. Это изменение решило эту конкретную проблему, и все запускается и останавливается, но когда мы пробуем sudo bluepill status, мы теперь получаем

unicorn (pix: XXXXXX): unmonitored

Похоже, 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
5
задан user204078 3 June 2011 в 00:38
поделиться