Class: Crabfarm::CrabtrapRunner

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

Constant Summary collapse

CRABTRAP_START_TM =

seconds

5

Instance Method Summary collapse

Constructor Details

#initialize(_config = {}) ⇒ CrabtrapRunner

Returns a new instance of CrabtrapRunner.



9
10
11
12
# File 'lib/crabfarm/crabtrap_runner.rb', line 9

def initialize(_config={})
  @config = _config;
  @process = nil
end

Instance Method Details

#is_running?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/crabfarm/crabtrap_runner.rb', line 14

def is_running?
  not @process.nil?
end

#killObject



41
42
43
44
45
46
47
48
# File 'lib/crabfarm/crabtrap_runner.rb', line 41

def kill
  unless @process.nil?
    logger.info "Killing crabtrap (PID: #{@process.pid})"
    @process.stop 0
    @process = nil
    logger.info "Crabtrap stopped"
  end
end

#modeObject



22
23
24
# File 'lib/crabfarm/crabtrap_runner.rb', line 22

def mode
  @config.fetch(:mode, :pass).to_sym
end

#portObject



18
19
20
# File 'lib/crabfarm/crabtrap_runner.rb', line 18

def port
  @config[:port]
end

#startObject



26
27
28
29
30
# File 'lib/crabfarm/crabtrap_runner.rb', line 26

def start
  logger.info "Starting crabtrap in port #{port}"
  @process = spawn_crabtrap
  logger.info "Crabtrap started (PID: #{@process.pid})"
end

#stopObject



32
33
34
35
36
37
38
39
# File 'lib/crabfarm/crabtrap_runner.rb', line 32

def stop
  unless @process.nil?
    logger.info "Stopping crabtrap (PID: #{@process.pid})"
    @process.stop
    @process = nil
    logger.info "Crabtrap stopped"
  end
end