Class: Nerve::Reporter::Base

Inherits:
Object
  • Object
show all
Includes:
Logging, Utils
Defined in:
lib/nerve/reporter/base.rb

Direct Known Subclasses

Etcd, Zookeeper

Instance Method Summary collapse

Methods included from Logging

configure_logger_for, #log, logger_for

Methods included from Utils

#responsive_sleep, #safe_run

Constructor Details

#initialize(opts) ⇒ Base

Returns a new instance of Base.



7
8
# File 'lib/nerve/reporter/base.rb', line 7

def initialize(opts)
end

Instance Method Details

#get_service_data(service) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/nerve/reporter/base.rb', line 25

def get_service_data(service)
  %w{instance_id host port}.each do |required|
    raise ArgumentError, "missing required argument #{required} for new service watcher" unless service[required]
  end
  d = {
    'host' => service['host'],
    'port' => service['port'],
    'name' => service['instance_id']
  }

  # Weight is optional, but it should be well formed if supplied
  if service.has_key?('weight')
    if service['weight'].to_i >= 0 and "#{service['weight']}".match /^\d+$/
      d['weight'] = service['weight'].to_i
    else
      raise ArgumentError, "invalid 'weight' argument in service data: #{service.inspect}"
    end
  end

  if service.has_key?('haproxy_server_options')
    d['haproxy_server_options'] = service['haproxy_server_options']
  end

  if service.has_key?('labels')
    d['labels'] = service['labels']
  end
  d
end

#ping?Boolean

Returns:

  • (Boolean)


22
23
# File 'lib/nerve/reporter/base.rb', line 22

def ping?
end

#report_downObject



19
20
# File 'lib/nerve/reporter/base.rb', line 19

def report_down
end

#report_upObject



16
17
# File 'lib/nerve/reporter/base.rb', line 16

def report_up
end

#startObject



10
11
# File 'lib/nerve/reporter/base.rb', line 10

def start
end

#stopObject



13
14
# File 'lib/nerve/reporter/base.rb', line 13

def stop
end