Compare commits

..

2 Commits

Author SHA1 Message Date
David Dollar
d0f5b2412c 0.7.4 2010-09-17 09:30:20 -04:00
David Dollar
15ab54bc18 include files from export in the gem 2010-09-17 09:30:09 -04:00
3 changed files with 9 additions and 9 deletions

View File

@@ -3,4 +3,4 @@ stop on stopping <%= app %>-<%= process.name %>
respawn
chdir <%= engine.directory %>
exec su - <%= user %> -c 'export PORT=<%= port %>; <%= process.command %> >> <%= log_root %>/<%=process.name%>-<%=num%>.log 2>&1'
exec su <%= user %> -c "PORT=<%= port %> <%= process.command %> >> <%= log_root %>/<%=process.name%>-<%=num%>.log 2>&1"

View File

@@ -1,6 +1,6 @@
module Foreman
VERSION = "0.8.0"
VERSION = "0.7.4"
class AppDoesNotExist < Exception; end

View File

@@ -39,8 +39,8 @@ class Foreman::Engine
fork process, options
end
trap("TERM") { puts "SIGTERM received"; kill_all("TERM") }
trap("INT") { puts "SIGINT received"; kill_all("INT") }
trap("TERM") { kill_and_exit("TERM") }
trap("INT") { kill_and_exit("INT") }
watch_for_termination
end
@@ -48,8 +48,8 @@ class Foreman::Engine
def execute(name, options={})
fork processes[name], options
trap("TERM") { puts "SIGTERM received"; kill_all("TERM") }
trap("INT") { puts "SIGINT received"; kill_all("INT") }
trap("TERM") { kill_and_exit("TERM") }
trap("INT") { kill_and_exit("INT") }
watch_for_termination
end
@@ -100,12 +100,13 @@ private ######################################################################
end
end
def kill_all(signal="TERM")
def kill_and_exit(signal="TERM")
info "terminating"
running_processes.each do |pid, process|
info "killing #{process.name} in pid #{pid}"
Process.kill(signal, pid)
end
exit 0
end
def info(message, process=nil)
@@ -148,8 +149,7 @@ private ######################################################################
pid, status = Process.wait2
process = running_processes.delete(pid)
info "process terminated", process
kill_all
Process.waitall
kill_and_exit
end
def running_processes