From: David Lutterkort <[email protected]>

---
 server/bin/deltacloudd |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/server/bin/deltacloudd b/server/bin/deltacloudd
index 0d0bce0..a1c8f09 100755
--- a/server/bin/deltacloudd
+++ b/server/bin/deltacloudd
@@ -57,12 +57,32 @@ argv_opts << ['--threaded', '-D', '--stats', '/stats']
 
 argv_opts.flatten!
 
-thin = Thin::Runner.new(argv_opts)
+if options[:env] == "development"
+  use_rerun = false
+  begin
+    require "rerun"
+    use_rerun = true
+  rescue
+    # Do nothing
+  end
+end
+
+puts "Starting Deltacloud API :: #{ENV["API_DRIVER"]} :: 
http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api";
+puts
 
-begin
-  puts "Starting Deltacloud API :: #{ENV["API_DRIVER"]} :: 
http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api";
-  puts
-  thin.run!
-rescue Exception => e
-  puts "ERROR: #{e.message}"
+if use_rerun
+  argv_opts.unshift "thin"
+  command = argv_opts.join(" ")
+  topdir = File::expand_path(File::join(File::dirname(__FILE__), ".."))
+  rerun = Rerun::Runner.new(command, :dir => topdir)
+  rerun.start
+  rerun.join
+else
+  thin = Thin::Runner.new(argv_opts)
+
+  begin
+    thin.run!
+  rescue Exception => e
+    puts "ERROR: #{e.message}"
+  end
 end
-- 
1.6.6.1

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to