lib/gitdocs/manager.rb in gitdocs-0.4.6 vs lib/gitdocs/manager.rb in gitdocs-0.4.7
- old
+ new
@@ -34,27 +34,31 @@
@runners = config.shares.map { |share| Runner.new(share) }
@runners.each(&:run)
# Start the web front-end
if self.config.global.start_web_frontend
Server.new(self, *@runners).start
- i = 0
- web_started = false
- begin
- TCPSocket.open('127.0.0.1', 8888).close
- web_started = true
- rescue Errno::ECONNREFUSED
- self.log "Retrying server loop..."
- sleep 0.2
- i += 1
- retry if i <= 20
- end
- self.log "Web server running: #{web_started}"
- system("open http://localhost:8888/") if self.config.global.load_browser_on_startup && web_started
+ EM.defer( proc {
+ i = 0
+ web_started = false
+ begin
+ TCPSocket.open('127.0.0.1', 8888).close
+ web_started = true
+ rescue Errno::ECONNREFUSED
+ self.log "Retrying server loop..."
+ sleep 0.2
+ i += 1
+ retry if i <= 20
+ end
+ system("open http://localhost:8888/") if self.config.global.load_browser_on_startup && web_started
+ }, proc {
+ self.log "Web server running!"
+ })
end
end
rescue Exception => e # Report all errors in log
self.log(e.class.inspect + " - " + e.inspect + " - " + e.message.inspect, :error)
self.log(e.backtrace.join("\n"), :error)
+ raise
ensure
self.log("Gitdocs is terminating...goodbye\n\n")
end
def restart
\ No newline at end of file