FalconSourceFalconCommandSupervisor

class Supervisor

Implements the falcon supervisor command.

Talks to an instance of the supervisor to issue commands and print results.

Nested

Definitions

options { ... }

The command line options.

Signature

attribute Samovar::Options

Implementation

options do
	option "--path <path>", "The control IPC path.", default: "supervisor.ipc"
end

nested

The nested command to execute.

Signature

attribute Command

Implementation

nested :command, {
	"restart" => Restart,
	"metrics" => Metrics,
}, default: "metrics"

def endpoint

The endpoint the supervisor is bound to.

Implementation

def endpoint
	::IO::Endpoint.unix(@options[:path])
end

def call

Connect to the supervisor and execute the requested command.

Implementation

def call
	Sync do
		endpoint.connect do |socket|
			@command.call(IO::Stream(socket))
		end
	end
end