Class: PhusionPassenger::AdminTools::ServerInstance::Process

Inherits:
Object
  • Object
show all
Defined in:
lib/phusion_passenger/admin_tools/server_instance.rb

Constant Summary collapse

INT_PROPERTIES =
[:pid, :sessions, :processed, :cpu, :rss, :real_memory,
:vmsize, :process_group_id]
BOOL_PROPERTIES =
[:has_metrics]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group) ⇒ Process

Returns a new instance of Process.



80
81
82
83
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 80

def initialize(group)
	@group = group
	@server_sockets = {}
end

Instance Attribute Details

#commandObject

Returns the value of attribute command.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def command
  @command
end

#connect_passwordObject

Returns the value of attribute connect_password.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def connect_password
  @connect_password
end

#cpuObject

Returns the value of attribute cpu.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def cpu
  @cpu
end

#groupObject (readonly)

Returns the value of attribute group.



72
73
74
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 72

def group
  @group
end

#gupidObject

Returns the value of attribute gupid.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def gupid
  @gupid
end

#has_metricsObject

Returns the value of attribute has_metrics.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def has_metrics
  @has_metrics
end

#pidObject

Returns the value of attribute pid.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def pid
  @pid
end

#process_group_idObject

Returns the value of attribute process_group_id.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def process_group_id
  @process_group_id
end

#processedObject

Returns the value of attribute processed.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def processed
  @processed
end

#real_memoryObject

Returns the value of attribute real_memory.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def real_memory
  @real_memory
end

#rssObject

Returns the value of attribute rss.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def rss
  @rss
end

#server_socketsObject

Returns the value of attribute server_sockets.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def server_sockets
  @server_sockets
end

#sessionsObject

Returns the value of attribute sessions.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def sessions
  @sessions
end

#uptimeObject

Returns the value of attribute uptime.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def uptime
  @uptime
end

#vmsizeObject

Returns the value of attribute vmsize.



73
74
75
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 73

def vmsize
  @vmsize
end

Instance Method Details

#connect(socket_name = :main) ⇒ Object



85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 85

def connect(socket_name = :main)
	socket_info = @server_sockets[socket_name]
	if !socket_info
		raise "This process has no server socket named '#{socket_name}'."
	end
	return Utils.connect_to_server(socket_info.address)
	if socket_info.address_type == 'unix'
		return UNIXSocket.new(socket_info.address)
	else
		host, port = socket_info.address.split(':', 2)
		return TCPSocket.new(host, port.to_i)
	end
end

#has_metrics?Boolean

Returns:

  • (Boolean)


99
100
101
# File 'lib/phusion_passenger/admin_tools/server_instance.rb', line 99

def has_metrics?
	return @has_metrics
end