Class: Testjour::SlaveServer

Inherits:
Object
  • Object
show all
Includes:
RunCommand
Defined in:
lib/testjour/slave_server.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RunCommand

#run_command

Class Method Details

.startObject



13
14
15
16
17
18
# File 'lib/testjour/slave_server.rb', line 13

def self.start
  server = self.new
  DRb.start_service(nil, server)
  uri = URI.parse(DRb.uri)
  return uri.port.to_i
end

.stopObject



20
21
22
# File 'lib/testjour/slave_server.rb', line 20

def self.stop
  DRb.stop_service
end

Instance Method Details

#run(queue_server_url, cucumber_options) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/testjour/slave_server.rb', line 38

def run(queue_server_url, cucumber_options)
  if running?
    Testjour.logger.info "Not running because pid exists: #{@pid}"
    return false
  end
  
  @pid = run_command(command_to_run_for(queue_server_url, cucumber_options))
  return @pid
end

#statusObject



24
25
26
# File 'lib/testjour/slave_server.rb', line 24

def status
  running? ? "busy" : "available"
end

#warm(queue_server_url) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/testjour/slave_server.rb', line 28

def warm(queue_server_url)
  if running?
    Testjour.logger.info "Not running because pid exists: #{@pid}"
    return false
  end

  @pid = run_command(command_to_warm_for(queue_server_url))
  return @pid
end