module Eye::Process::Data

Public Instance Methods

app_name() click to toggle source
# File lib/eye/process/data.rb, line 7
def app_name
  self[:application]
end
debug_data() click to toggle source
# File lib/eye/process/data.rb, line 52
def debug_data
  { queue: scheduler_actions_list, watchers: @watchers.keys }
end
environment_string() click to toggle source
# File lib/eye/process/data.rb, line 62
def environment_string
  s = []
  @config[:environment].each { |k, v| s << "#{k}=#{v}" }
  s * ' '
end
full_name() click to toggle source
# File lib/eye/process/data.rb, line 19
def full_name
  @full_name ||= [app_name, group_name, self[:name]].compact.join(':')
end
group_name() click to toggle source
# File lib/eye/process/data.rb, line 11
def group_name
  (self[:group] == '__default__') ? nil : self[:group]
end
group_name_pure() click to toggle source
# File lib/eye/process/data.rb, line 15
def group_name_pure
  self[:group]
end
logger_tag() click to toggle source
# File lib/eye/process/data.rb, line 3
def logger_tag
  full_name
end
self_status_data(debug = false) click to toggle source
# File lib/eye/process/data.rb, line 36
def self_status_data(debug = false)
  h = { name: name, state: state,
        type: (self.class == Eye::ChildProcess ? :child_process : :process),
        resources: Eye::SystemResources.resources(pid) }

  if @states_history
    h.merge!( state_changed_at: @states_history.last_state_changed_at.to_i,
              state_reason: @states_history.last_reason )
  end

  h.merge!(debug: debug_data) if debug
  h.merge!(current_command: current_scheduled_command) if current_scheduled_command

  h
end
shell_string(dir = true) click to toggle source
# File lib/eye/process/data.rb, line 68
def shell_string(dir = true)
  str = ''
  str += "cd #{self[:working_dir]} && " if dir
  str += environment_string
  str += ' '
  str += self[:start_command]
  str += ' &' if self[:daemonize]
  str
end
status_data(debug = false) click to toggle source
# File lib/eye/process/data.rb, line 23
def status_data(debug = false)
  p_st = self_status_data(debug)

  if children.present?
    p_st.merge(:subtree => Eye::Utils::AliveArray.new(children.values).map{|c| c.status_data(debug) } )
  elsif self[:monitor_children] && self.up?
    p_st.merge(:subtree => [{name: '=loading children='}])
  else
    # common state
    p_st
  end
end
sub_object?(obj) click to toggle source
# File lib/eye/process/data.rb, line 56
def sub_object?(obj)
  return false if self.class == Eye::ChildProcess
  self.children.each { |_, child| return true if child == obj }
  false
end