class Citrus::Monitor::Monitor

Monitor

Public Class Methods

new(app, args={}) click to toggle source

Create a new monitor

@param [Object] app @param [Hash] args

# File lib/citrus/monitor/monitor.rb, line 22
def initialize app, args={}
  @app = app
  @master = false
  @master_info = @app.master
  @server_info = @app.cur_server
  @modules = []
  @close_watcher = args[:close_watcher]
  @console_service = CitrusAdmin::ConsoleService.create_monitor_console({
    :env => @app.env,
    :host => @master_info[:host],
    :port => @master_info[:port],
    :server_id => @server_info[:server_id],
    :server_type => @app.server_type,
    :server_info => @server_info,
    :auth_server => nil
  })
end

Public Instance Methods

start() { |err| ... } click to toggle source

Start master

# File lib/citrus/monitor/monitor.rb, line 41
def start &block
  register_default_modules
  load_modules
  @console_service.start { |err|
    if err
      block_given? and yield err
      return
    end
    start_modules { |err|
      block_given? and yield err
      return
    }
  }
end
stop(&block) click to toggle source

Stop master

# File lib/citrus/monitor/monitor.rb, line 57
def stop &block
end