Class: Citrus::Monitor::Monitor

Inherits:
Object
  • Object
show all
Includes:
Utils::ModuleUtil
Defined in:
lib/citrus/monitor/monitor.rb

Overview

Monitor

Instance Method Summary collapse

Methods included from Utils::ModuleUtil

#load_modules, #register_default_modules, #start_module, #start_modules

Constructor Details

#initialize(app, args = {}) ⇒ Monitor

Create a new monitor

Parameters:

  • app (Object)
  • args (Hash) (defaults to: {})


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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

Instance Method Details

#start(&block) ⇒ Object

Start master



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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) ⇒ Object

Stop master



57
58
# File 'lib/citrus/monitor/monitor.rb', line 57

def stop &block
end