Class: PPool::TimedProcessController

Inherits:
ShellProcessController show all
Defined in:
lib/timed_process_controller.rb

Instance Method Summary collapse

Methods inherited from ShellProcessController

#delete_log_file, #info, #process_ended, #run_process

Methods inherited from BasicProcessController

#info, #process_ended, #progress, #run_process, #time_running, #time_running_secs

Constructor Details

#initialize(size, delay, script, time, logdir, rmlogs) ⇒ TimedProcessController

Returns a new instance of TimedProcessController.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/timed_process_controller.rb', line 32

def initialize(size, delay, script, time, logdir, rmlogs)
  super(script, logdir, rmlogs)

  @size = size
  @time = time
  @finishing = false
  @finished = false
  @size = size
  @delay = delay
  @msg = ""

  Signal.trap('INT') do 
	finished
  end

end

Instance Method Details

#dec_sizeObject



72
73
74
75
76
77
# File 'lib/timed_process_controller.rb', line 72

def dec_size
  @size = @size - 1
  if @size < 0
    @size = 0
  end
end

#delayObject



64
65
66
# File 'lib/timed_process_controller.rb', line 64

def delay
  return @delay / 1000.0
end

#finishedObject



92
93
94
# File 'lib/timed_process_controller.rb', line 92

def finished
  @finished = true
end

#finishingObject



83
84
85
86
# File 'lib/timed_process_controller.rb', line 83

def finishing
  @size = 0
  @finishing = true
end

#finishing?Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/timed_process_controller.rb', line 88

def finishing?
  return @finishing
end

#inc_sizeObject



68
69
70
# File 'lib/timed_process_controller.rb', line 68

def inc_size
  @size = @size + 1
end

#num_processesObject



57
58
59
# File 'lib/timed_process_controller.rb', line 57

def num_processes
  return @size
end

#process_started(pid, num_processes) ⇒ Object



61
62
# File 'lib/timed_process_controller.rb', line 61

def process_started(pid, num_processes) 
end

#running?Boolean

Returns:

  • (Boolean)


49
50
51
52
53
54
55
# File 'lib/timed_process_controller.rb', line 49

def running?
  if @time != nil && time_running_secs > @time
    @size = 0
    @finishing = true
  end
  return !@finished
end

#set_size(s) ⇒ Object



79
80
81
# File 'lib/timed_process_controller.rb', line 79

def set_size(s)
  @size = s
end