Sha256: ed2e7fe376e2f9f82f45ab3d9a7a334acdb74b465674bda541d4e375e2b6f91f

Contents?: true

Size: 939 Bytes

Versions: 7

Compression:

Stored size: 939 Bytes

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2019-2024, by Samuel Williams.

require_relative '../service/supervisor'
require_relative '../environment'

module Falcon
	module Environment
		# Provides an environment for hosting a supervisor which can monitor multiple applications.
		module Supervisor
			# The name of the supervisor
			# @returns [String]
			def name
				"supervisor"
			end
			
			# The IPC path to use for communication with the supervisor.
			# @returns [String]
			def ipc_path
				::File.expand_path("supervisor.ipc", root)
			end
			
			# The endpoint the supervisor will bind to.
			# @returns [Async::IO::Endpoint]
			def endpoint
				Async::IO::Endpoint.unix(ipc_path)
			end
			
			# The service class to use for the supervisor.
			# @returns [Class]
			def service_class
				::Falcon::Service::Supervisor
			end
		end
		
		LEGACY_ENVIRONMENTS[:supervisor] = Supervisor
	end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
falcon-0.47.0 lib/falcon/environment/supervisor.rb
falcon-0.46.1 lib/falcon/environment/supervisor.rb
falcon-0.46.0 lib/falcon/environment/supervisor.rb
falcon-0.45.2 lib/falcon/environment/supervisor.rb
falcon-0.45.1 lib/falcon/environment/supervisor.rb
falcon-0.45.0 lib/falcon/environment/supervisor.rb
falcon-0.44.0 lib/falcon/environment/supervisor.rb