Sha256: ce4fd00ae5e775a3f88373492008cb31c32ab9fcd5c9d5fe0630276aa28eb063

Contents?: true

Size: 1.1 KB

Versions: 11

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

11 entries across 11 versions & 1 rubygems

Version Path
eye-0.10.1.pre examples/unicorn.eye
eye-0.10.0 examples/unicorn.eye
eye-0.10.0.alpha2 examples/unicorn.eye
eye-0.10.0.alpha examples/unicorn.eye
eye-0.9.4.nosigar examples/unicorn.eye
eye-0.9.4 examples/unicorn.eye
eye-0.9.3 examples/unicorn.eye
eye-0.9.2.nosigar examples/unicorn.eye
eye-0.9.2 examples/unicorn.eye
eye-0.9.1 examples/unicorn.eye
eye-0.9.pre examples/unicorn.eye