class Procodile::ControlServer
Public Class Methods
new(supervisor)
click to toggle source
# File lib/procodile/control_server.rb, line 14 def initialize(supervisor) @supervisor = supervisor end
start(supervisor)
click to toggle source
# File lib/procodile/control_server.rb, line 7 def self.start(supervisor) Thread.new do socket = ControlServer.new(supervisor) socket.listen end end
Public Instance Methods
listen()
click to toggle source
# File lib/procodile/control_server.rb, line 18 def listen socket = UNIXServer.new(@supervisor.config.sock_path) Procodile.log nil, 'control', "Listening at #{@supervisor.config.sock_path}" loop do client = socket.accept session = ControlSession.new(@supervisor, client) while line = client.gets if response = session.receive_data(line.strip) client.puts response end end client.close end ensure FileUtils.rm_f(@supervisor.config.sock_path) end