Class: Kaisoku::Preload::Daemon

Inherits:
Object
  • Object
show all
Defined in:
lib/kaisoku/preload/daemon.rb

Instance Method Summary collapse

Constructor Details

#initialize(socket_path:, server:) ⇒ Daemon

Returns a new instance of Daemon.



10
11
12
13
# File 'lib/kaisoku/preload/daemon.rb', line 10

def initialize(socket_path:, server:)
  @socket_path = socket_path
  @server = server
end

Instance Method Details

#startObject



15
16
17
18
19
20
21
# File 'lib/kaisoku/preload/daemon.rb', line 15

def start
  FileUtils.mkdir_p(File.dirname(@socket_path))
  FileUtils.rm_f(@socket_path)
  UNIXServer.open(@socket_path) { |socket| loop { handle(socket.accept) } }
ensure
  File.unlink(@socket_path) if @socket_path && File.socket?(@socket_path)
end