personal_deity/skel/bin/god.conf
John Bintz 37def0cf66 opps
2012-08-20 11:57:02 -04:00

52 lines
1.1 KiB
Plaintext

# a default email contact for when a service dies and needs to be restarted
God.contact(:email) do |c|
c.name = "john"
c.to_email = "email@example.com"
c.delivery_method = :sendmail
end
def notifies(condition)
c.notify = "john"
end
def keep_process_running(w)
w.start_if do |start|
start.condition(:process_running) do |c|
c.running = false
c.interval = 5.seconds
notifies(c)
end
end
end
def shared_config(w)
w.group = "<%= application %>"
w.dir = '<%= current_path %>'
w.env = {
'BUNDLE_GEMFILE' => '',
'BUNDLE_BIN_PATH' => '',
'RAILS_ENV' => '<%= stage %>',
'RACK_ENV' => '<%= stage %>'
}
w.log = "<%= shared_path %>/god.log"
keep_process_running(w)
end
# example for a thin-powered app, which is what I use the most of
<%= thin_servers %>.times do |port_id|
port = <%= thin_port %> + port_id
God.watch do |w|
# assign all watches to this group so personal_deity can stop/start them all at once
w.name = "<%= application %>-thin-#{port}"
w.start = "bundle exec thin -e <%= stage %> -p #{port} start"
shared_config(w)
end
end