Class: Mtbb::ServerControl

Inherits:
Object
  • Object
show all
Defined in:
lib/mtbb.rb

Class Method Summary collapse

Class Method Details

.start_serversObject



307
308
309
310
311
312
313
314
315
# File 'lib/mtbb.rb', line 307

def self.start_servers
  Dir.chdir(File.expand_path('../', __FILE__)) do
    FileUtils.mkdir_p('./.mtbb-artifacts')
    Mtbb::SERVERS.each do |_,runner|
      runner.start
      wait_for_server(runner.port)
    end
  end
end

.stop_serversObject



301
302
303
304
305
# File 'lib/mtbb.rb', line 301

def self.stop_servers
  Mtbb::SERVERS.each do |_,server|
    server.stop
  end
end

.wait_for_server(http_port) ⇒ Object



317
318
319
320
321
322
323
324
325
326
327
328
329
# File 'lib/mtbb.rb', line 317

def self.wait_for_server(http_port)
  maxloops = 10
  curloop = 0
  begin
    TCPSocket.new(ENV['MTBB_SERVER_HOST'] || 'localhost', http_port).close
  rescue
    curloop += 1
    if curloop < maxloops
      sleep 0.5
      retry
    end
  end
end