module Hourglass class Runner def initialize(argv = ARGV) Database.migrate! if start_server @web_thread.join Activity.stop_current_activities end end def start_server handler = Rack::Handler.get('mongrel') settings = Application.settings @web_server = Mongrel::HttpServer.new(settings.bind, settings.port, 950, 0, 60) @web_server.register('/', handler.new(Application)) success = false begin @web_thread = @web_server.run success = true rescue Errno::EADDRINUSE => e puts "Can't start web server, port already in use. Aborting..." end success end end end