Class: Citrus::Master::WatchDog

Inherits:
Object
  • Object
show all
Defined in:
lib/citrus/master/watchdog.rb

Overview

WatchDog

Instance Method Summary collapse

Constructor Details

#initialize(app, console_service) ⇒ WatchDog

Create a new watchdog

Parameters:

  • app (Object)
  • console_service (Object)


18
19
20
21
22
23
# File 'lib/citrus/master/watchdog.rb', line 18

def initialize app, console_service
  @app = app
  @service = console_service
  @servers = {}
  @listeners = []
end

Instance Method Details

#add_server(server) ⇒ Object

Add server

Parameters:

  • server (Hash)


28
29
30
31
32
# File 'lib/citrus/master/watchdog.rb', line 28

def add_server server
  return unless server
  @servers[server[:server_id]] = server
  notify({ :action => 'add_server', :server => server })
end

#queryObject

Query



57
58
59
# File 'lib/citrus/master/watchdog.rb', line 57

def query
  @servers.values
end

#reconnect_serverObject

Reconnect server



39
40
# File 'lib/citrus/master/watchdog.rb', line 39

def reconnect_server
end

#remove_serverObject

Remove server



35
36
# File 'lib/citrus/master/watchdog.rb', line 35

def remove_server
end

#subscribe(server_id) ⇒ Object

Subscribe

Parameters:

  • server_id (String)


45
46
47
# File 'lib/citrus/master/watchdog.rb', line 45

def subscribe server_id
  @listeners << server_id
end

#unsubscribe(server_id) ⇒ Object

Unsubscribe

Parameters:

  • server_id (String)


52
53
54
# File 'lib/citrus/master/watchdog.rb', line 52

def unsubscribe server_id
  @listeners.delete server_id
end