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.



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

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

Instance Method Details

#is_running?Boolean

Returns:

  • (Boolean)


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

def is_running?
  not @process.nil?
end

#killObject



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

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

#modeObject



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

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

#portObject



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

def port
  @config[:port]
end

#startObject



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

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

#stopObject



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

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