module Naminori

Constants

VERSION

Public Class Methods

configure(&block) click to toggle source
# File lib/naminori/configure.rb, line 24
def self.configure(&block)
  if block
    @__config = Configure.new
    @__config.instance_eval(&block)
  end
  @__config
end
health_check(service) click to toggle source
# File lib/naminori.rb, line 27
def self.health_check(service)
  if members = Naminori::Serf.get_alive_member_by_role(service.config.role.to_s)
    members.each do |member|
      ip = member[:ip]
      if service.healty?(ip)
        Object.const_get("Naminori::Lb::#{service.config.lb.to_s.capitalize}").add_member(ip, service)
      elsif service.config.retry_c.times.all? { sleep 1; !service.healty?(ip) }
        Object.const_get("Naminori::Lb::#{service.config.lb.to_s.capitalize}").delete_member(ip, service)
      end
    end
  end
end
run() click to toggle source
# File lib/naminori.rb, line 19
def self.run
  Naminori.configure.service.each do |s|
    service = Object.const_get("Naminori::Service::#{s.service.to_s.capitalize}").new(s)
    service.run
    health_check(service)
  end if Naminori.configure.service
end