add group support for supervisord

This commit is contained in:
Raphael Randschau
2012-03-05 15:48:40 +01:00
parent 08dca57eb4
commit c9943d70ec
4 changed files with 16 additions and 4 deletions
+8 -2
View File
@@ -1,12 +1,15 @@
<%
app_names = []
engine.procfile.entries.each do |process|
next if (conc = self.concurrency[process.name]) < 1
1.upto(self.concurrency[process.name]) do |num|
port = engine.port_for(process, num, self.port)
name = if (conc > 1); "#{process.name}-#{num}" else process.name; end
environment = (engine.environment.map{ |var,env| "#{var.upcase}=#{env}" } + ["PORT=#{port}"])
app_name = "#{app}-#{name}"
app_names << app_name
%>
[program:<%= app %>-<%= name %>]
[program:<%= app_name %>]
command=<%= process.command %>
autostart=true
autorestart=true
@@ -18,4 +21,7 @@ directory=<%= engine.directory %>
environment=<%= environment.join(',') %><%
end
end
%>
%>
[group:<%= app %>]
programs:<%= app_names.join(',') %>
+2 -2
View File
@@ -30,7 +30,7 @@ describe Foreman::Export::Supervisord, :fakefs do
it "exports to the filesystem with concurrency" do
supervisord.export
File.read("/tmp/init/app.conf").should == example_export_file("supervisord/app-alpha-2.conf")
end
end
@@ -46,7 +46,7 @@ describe Foreman::Export::Supervisord, :fakefs do
it "can export with alternate template files" do
supervisord.export
File.read("/tmp/init/app.conf").should == "alternate_template\n"
end
end
@@ -19,3 +19,6 @@ stderr_logfile=/var/log/app/alpha-2-err.log
user=app
directory=/tmp/app
environment=PORT=5001
[group:app]
programs:app-alpha-1,app-alpha-2
@@ -19,3 +19,6 @@ stderr_logfile=/var/log/app/bravo-1-err.log
user=app
directory=/tmp/app
environment=PORT=5100
[group:app]
programs:app-alpha,app-bravo