43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/perfectqueue/engine.rb', line 43
def restart(immediate, config)
return nil if @finish_flag.set?
@log = config[:logger] || Logger.new(STDERR)
num_processors = config[:processors] || 1
= num_processors - @processors.length
if > 0
.times do
@processors << @processor_class.new(@runner, @processors.size+1, config)
end
elsif < 0
-.times do
c = @processors.shift
c.stop(immediate)
c.join
end
= 0
end
@processors[0..(--1)].each {|c|
c.restart(immediate, config)
}
@child_keepalive_interval = (config[:child_keepalive_interval] || config[:child_heartbeat_interval] || 2).to_i
self
end
|