---
server/bin/deltacloudd | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/server/bin/deltacloudd b/server/bin/deltacloudd
index a1c8f09..eda5c1b 100755
--- a/server/bin/deltacloudd
+++ b/server/bin/deltacloudd
@@ -27,6 +27,7 @@ BANNER
end
opts.on( '-e', '--env ENV', 'Environment (default: "development")') { |env|
options[:env] = env }
opts.on( '-h', '--help', '') { options[:help] = true }
+ opts.on( '-d', '--daemon', 'Run in background') { options[:daemon] = true }
end
optparse.parse!
@@ -46,14 +47,26 @@ ENV["API_PORT"] = "3001" unless ENV["API_PORT"]
dirname="#{File.dirname(__FILE__)}/.."
+unless File.exists?(File.join(dirname, "config.ru"))
+ dirname = "/usr/share/deltacloud-core" if
File.exists?("/usr/share/deltacloud-core/config.ru")
+end
+
+
argv_opts = ARGV.clone
argv_opts << ['start'] unless Thin::Runner.commands.include?(options[0])
argv_opts << ['--address', ENV["API_HOST"] ]
argv_opts << ['--port', ENV["API_PORT"] ]
-argv_opts << ['--rackup', 'config.ru' ]
+argv_opts << ['--rackup', "config.ru"]
argv_opts << ['--chdir', dirname ]
argv_opts << ['-e', options[:env] ]
argv_opts << ['--threaded', '-D', '--stats', '/stats']
+if options[:daemon]
+ argv_opts << ['-d']
+ argv_opts << ['--user', 'nobody']
+ argv_opts << ['--pid', '/var/run/deltacloudd.pid']
+ argv_opts << ['--log', '/var/log/deltacloudd.log']
+ argv_opts << ['--tag', 'deltacloudd']
+end
argv_opts.flatten!
@@ -67,8 +80,10 @@ if options[:env] == "development"
end
end
-puts "Starting Deltacloud API :: #{ENV["API_DRIVER"]} ::
http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
-puts
+unless options[:daemon]
+ puts "Starting Deltacloud API :: #{ENV["API_DRIVER"]} ::
http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
+ puts
+end
if use_rerun
argv_opts.unshift "thin"
@@ -79,10 +94,5 @@ if use_rerun
rerun.join
else
thin = Thin::Runner.new(argv_opts)
-
- begin
- thin.run!
- rescue Exception => e
- puts "ERROR: #{e.message}"
- end
+ thin.run!
end
--
1.6.6.2
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel