Skip to content

Commit 86412be

Browse files
committed
Replace "runner" terminology in Supervisor and Configuration with "process" and "fork"
Much clearer.
1 parent 751140f commit 86412be

File tree

3 files changed

+30
-30
lines changed

3 files changed

+30
-30
lines changed

lib/solid_queue/configuration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def initialize(mode: :work, load_from: nil)
1919
@raw_config = config_from(load_from)
2020
end
2121

22-
def runners
22+
def processes
2323
case mode
2424
when :dispatch then dispatcher
2525
when :work then workers

lib/solid_queue/supervisor.rb

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ def start(mode: :work, load_configuration_from: nil)
1111
SolidQueue.supervisor = true
1212
configuration = Configuration.new(mode: mode, load_from: load_configuration_from)
1313

14-
new(*configuration.runners).start
14+
new(*configuration.processes).start
1515
end
1616
end
1717

18-
def initialize(*runners)
19-
@runners = Array(runners)
18+
def initialize(*configured_processes)
19+
@configured_processes = Array(configured_processes)
2020
@forks = {}
2121
end
2222

@@ -33,7 +33,7 @@ def start
3333
end
3434

3535
private
36-
attr_reader :runners, :forks
36+
attr_reader :configured_processes, :forks
3737

3838
def boot
3939
sync_std_streams
@@ -42,13 +42,13 @@ def boot
4242
end
4343

4444
def supervise
45-
start_runners
45+
start_forks
4646

4747
loop do
4848
procline "supervising #{forks.keys.join(", ")}"
4949

5050
process_signal_queue
51-
reap_and_replace_terminated_runners
51+
reap_and_replace_terminated_forks
5252
interruptible_sleep(1.second)
5353
end
5454
end
@@ -68,8 +68,8 @@ def launch_process_prune
6868
@prune_task.execute
6969
end
7070

71-
def start_runners
72-
runners.each { |runner| start_runner(runner) }
71+
def start_forks
72+
configured_processes.each { |configured_process| start_fork(configured_process) }
7373
end
7474

7575
def shutdown
@@ -80,25 +80,25 @@ def shutdown
8080

8181
def graceful_termination
8282
procline "terminating gracefully"
83-
term_runners
83+
term_forks
8484

85-
wait_until(SolidQueue.shutdown_timeout, -> { all_runners_terminated? }) do
86-
reap_terminated_runners
85+
wait_until(SolidQueue.shutdown_timeout, -> { all_forks_terminated? }) do
86+
reap_terminated_forks
8787
end
8888

89-
immediate_termination unless all_runners_terminated?
89+
immediate_termination unless all_forks_terminated?
9090
end
9191

9292
def immediate_termination
9393
procline "terminating immediately"
94-
quit_runners
94+
quit_forks
9595
end
9696

97-
def term_runners
97+
def term_forks
9898
signal_processes(forks.keys, :TERM)
9999
end
100100

101-
def quit_runners
101+
def quit_forks
102102
signal_processes(forks.keys, :QUIT)
103103
end
104104

@@ -116,26 +116,26 @@ def prune_dead_processes
116116
end
117117
end
118118

119-
def start_runner(runner)
120-
runner.supervised_by process
119+
def start_fork(configured_process)
120+
configured_process.supervised_by process
121121

122122
pid = fork do
123-
runner.start
123+
configured_process.start
124124
end
125125

126-
forks[pid] = runner
126+
forks[pid] = configured_process
127127
end
128128

129-
def reap_and_replace_terminated_runners
129+
def reap_and_replace_terminated_forks
130130
loop do
131131
pid, status = ::Process.waitpid2(-1, ::Process::WNOHANG)
132132
break unless pid
133133

134-
replace_runner(pid, status)
134+
replace_fork(pid, status)
135135
end
136136
end
137137

138-
def reap_terminated_runners
138+
def reap_terminated_forks
139139
loop do
140140
pid, status = ::Process.waitpid2(-1, ::Process::WNOHANG)
141141
break unless pid
@@ -146,16 +146,16 @@ def reap_terminated_runners
146146
# All children already reaped
147147
end
148148

149-
def replace_runner(pid, status)
150-
if runner = forks.delete(pid)
151-
SolidQueue.logger.info "[SolidQueue] Restarting worker[#{status.pid}] (status: #{status.exitstatus})"
152-
start_runner(runner)
149+
def replace_fork(pid, status)
150+
if supervised_fork = forks.delete(pid)
151+
SolidQueue.logger.info "[SolidQueue] Restarting fork[#{status.pid}] (status: #{status.exitstatus})"
152+
start_fork(supervised_fork)
153153
else
154-
SolidQueue.logger.info "[SolidQueue] Tried to replace worker[#{pid}] (status: #{status.exitstatus}, runner[#{status.pid}]), but it had already died (status: #{status.exitstatus})"
154+
SolidQueue.logger.info "[SolidQueue] Tried to replace fork[#{pid}] (status: #{status.exitstatus}, fork[#{status.pid}]), but it had already died (status: #{status.exitstatus})"
155155
end
156156
end
157157

158-
def all_runners_terminated?
158+
def all_forks_terminated?
159159
forks.empty?
160160
end
161161

test/unit/configuration_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
class ConfigurationTest < ActiveSupport::TestCase
44
test "read configuration from default file" do
55
configuration = SolidQueue::Configuration.new(mode: :all)
6-
assert 3, configuration.runners.count
6+
assert 3, configuration.processes.count
77
assert_equal 2, configuration.workers.count
88
assert configuration.dispatcher.present?
99
end

0 commit comments

Comments
 (0)