Sha256: 71fa8a167a9258aa1f9c18a6714a616d2af5d416d225b75e8434b312b607fd55

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

# Example: how to run unicorn, and monitor its child processes

RUBY = '/usr/local/ruby/1.9.3/bin/ruby' # ruby on the server
RAILS_ENV = 'production'

Eye.application 'rails_unicorn' do
  env 'RAILS_ENV' => RAILS_ENV

  # unicorn requires to be `ruby` in path (for soft restart)
  env 'PATH' => "#{File.dirname(RUBY)}:#{ENV['PATH']}"

  working_dir File.expand_path(File.join(File.dirname(__FILE__), %w[ processes ]))

  process('unicorn') do
    pid_file 'tmp/pids/unicorn.pid'
    start_command "#{RUBY} ./bin/unicorn -Dc ./config/unicorn.rb -E #{RAILS_ENV}"
    stdall 'log/unicorn.log'

    # stop signals:
    # http://unicorn.bogomips.org/SIGNALS.html
    stop_signals [:TERM, 10.seconds]

    # soft restart
    restart_command 'kill -USR2 {PID}'

    check :cpu, every: 30, below: 80, times: 3
    check :memory, every: 30, below: 150.megabytes, times: [3, 5]

    start_timeout 100.seconds
    restart_grace 30.seconds

    monitor_children do
      stop_command 'kill -QUIT {PID}'
      check :cpu, every: 30, below: 80, times: 3
      check :memory, every: 30, below: 150.megabytes, times: [3, 5]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eye-0.8.1 examples/unicorn.eye
eye-0.8.celluloid15 examples/unicorn.eye
eye-0.8 examples/unicorn.eye
eye-0.8.rc examples/unicorn.eye