make config even tighter

This commit is contained in:
John Bintz 2012-08-20 11:31:20 -04:00
parent 4563d9de26
commit fbe92f2c88

View File

@ -5,34 +5,47 @@ God.contact(:email) do |c|
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
notofies(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.group = "<%= application %>"
w.name = "<%= application %>-thin-#{port}"
w.dir = '<%= current_path %>'
w.env = {
'BUNDLE_GEMFILE' => '',
'BUNDLE_BIN_PATH' => '',
'RAILS_ENV' => '<%= stage %>',
'RACK_ENV' => '<%= stage %>'
}
w.log = "<%= shared_path %>/god.log"
w.start = "bundle exec thin -e <%= stage %> -p #{port} start"
w.start_if do |start|
start.condition(:process_running) do |c|
c.running = false
c.interval = 5.seconds
c.notify = "john"
end
end
shared_config(w)
end
end