Class: SolidQueue::Supervisor
Defined Under Namespace
Modules: Maintenance, Pidfiled, Signals
Classes: Pidfile
Instance Attribute Summary
#name
Class Method Summary
collapse
Instance Method Summary
collapse
#hostname, #metadata, #pid
#create_thread, #handle_thread_error, #wrap_in_app_executor
#process_id
#procline
#wake_up
Constructor Details
#initialize(configuration) ⇒ Supervisor
Returns a new instance of Supervisor.
26
27
28
29
30
31
32
33
|
# File 'lib/solid_queue/supervisor.rb', line 26
def initialize(configuration)
@configuration = configuration
@configured_processes = {}
@process_instances = {}
super
end
|
Class Method Details
.start(**options) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/solid_queue/supervisor.rb', line 11
def start(**options)
SolidQueue.supervisor = true
configuration = Configuration.new(**options)
if configuration.valid?
klass = configuration.mode.fork? ? ForkSupervisor : AsyncSupervisor
klass.new(configuration).tap(&:start)
else
abort configuration.errors.full_messages.join("\n") + "\nExiting..."
end
end
|
Instance Method Details
#kind ⇒ Object
50
51
52
|
# File 'lib/solid_queue/supervisor.rb', line 50
def kind
"Supervisor(#{mode})"
end
|
#start ⇒ Object
35
36
37
38
39
40
41
42
43
|
# File 'lib/solid_queue/supervisor.rb', line 35
def start
boot
run_start_hooks
start_processes
launch_maintenance_task
supervise
end
|
#stop ⇒ Object
45
46
47
48
|
# File 'lib/solid_queue/supervisor.rb', line 45
def stop
super
run_stop_hooks
end
|