Class Daemon::Cluster
In: lib/serverside/cluster.rb
Parent: Base

Implements a cluster controlling daemon. The daemon itself itself forks a child process for each port.

Methods

Public Class methods

The main daemon loop. Does nothing for now.

[Source]

    # File lib/serverside/cluster.rb, line 28
28:     def self.daemon_loop
29:       loop {sleep 60}
30:     end

Forks a child process with a specific port.

[Source]

    # File lib/serverside/cluster.rb, line 8
 8:     def self.fork_server(port)
 9:       fork do
10:         trap('TERM') {exit}
11:         server_loop(port)
12:       end
13:     end

Starts child processes and calls the main loop.

[Source]

    # File lib/serverside/cluster.rb, line 33
33:     def self.start
34:       start_servers
35:       daemon_loop
36:     end

Starts child processes.

[Source]

    # File lib/serverside/cluster.rb, line 18
18:     def self.start_servers
19:       ports.each {|p| @@pids << fork_server(p)}
20:     end

Stops child processes.

[Source]

    # File lib/serverside/cluster.rb, line 39
39:     def self.stop
40:       stop_servers
41:     end

Stops child processes.

[Source]

    # File lib/serverside/cluster.rb, line 23
23:     def self.stop_servers
24:       @@pids.each {|pid| Process.kill('TERM', pid) rescue nil}
25:     end

[Validate]