Class: Fractor::SignalHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/fractor/signal_handler.rb

Overview

Handles signal management for graceful shutdown. Extracted from Supervisor to follow Single Responsibility Principle.

Note: The ShutdownSignal exception class is defined in supervisor.rb to maintain backwards compatibility.

Instance Method Summary collapse

Constructor Details

#initialize(continuous_mode: false, debug: false, status_callback: nil, shutdown_callback: nil) ⇒ SignalHandler

Returns a new instance of SignalHandler.



10
11
12
13
14
15
16
# File 'lib/fractor/signal_handler.rb', line 10

def initialize(continuous_mode: false, debug: false, status_callback: nil,
shutdown_callback: nil)
  @continuous_mode = continuous_mode
  @debug = debug
  @status_callback = status_callback
  @shutdown_callback = shutdown_callback
end

Instance Method Details

#setupObject

Set up signal handlers for graceful shutdown Handles SIGINT (Ctrl+C), SIGTERM (systemd/docker), and platform-specific status signals



20
21
22
23
# File 'lib/fractor/signal_handler.rb', line 20

def setup
  setup_universal_signals
  setup_status_signal
end