29 lines
930 B
Plaintext
29 lines
930 B
Plaintext
Bluepill.application("<%= app %>", :foreground => false, :log_file => "/var/log/bluepill.log") do |app|
|
|
|
|
app.uid = "<%= user %>"
|
|
app.gid = "<%= user %>"
|
|
|
|
<% engine.each_process do |name, process| %>
|
|
<% 1.upto(engine.formation[name]) do |num| %>
|
|
<% port = engine.port_for(process, num) %>
|
|
app.process("<%= name %>-<%= num %>") do |process|
|
|
process.start_command = "<%= process.command %>"
|
|
|
|
process.working_dir = "<%= engine.root %>"
|
|
process.daemonize = true
|
|
process.environment = <%= engine.env.merge("PORT" => port.to_s).inspect %>
|
|
process.stop_signals = [:quit, 30.seconds, :term, 5.seconds, :kill]
|
|
process.stop_grace_time = 45.seconds
|
|
|
|
process.stdout = process.stderr = "<%= log %>/<%= app %>-<%= name %>-<%= num %>.log"
|
|
|
|
process.monitor_children do |children|
|
|
children.stop_command "kill {{PID}}"
|
|
end
|
|
|
|
process.group = "<%= app %>-<%= name %>"
|
|
end
|
|
<% end %>
|
|
<% end %>
|
|
end
|