Sha256: 36fb0dc4f99bc6859e501ffdcc2c97a5319930717e385ca50f4b88eb8be181cb

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'async-rack'
require 'sinatra/base'
require 'em-synchrony/em-http'
require 'em/syslog'
require 'thin'
require 'yaml'

require 'sinatra/synchrony'

require 'big_brother/app'
require 'big_brother/cluster'
require 'big_brother/configuration'
require 'big_brother/health_fetcher'
require 'big_brother/ipvs'
require 'big_brother/logger'
require 'big_brother/node'
require 'big_brother/shell_executor'
require 'big_brother/status_file'
require 'big_brother/ticker'
require 'big_brother/version'

require 'thin/callbacks'
require 'thin/backends/tcp_server_with_callbacks'
require 'thin/callback_rack_handler'

module BigBrother
  class << self
    attr_accessor :ipvs, :clusters, :config_dir, :logger
  end

  self.ipvs = IPVS.new
  self.clusters = {}
  self.logger = BigBrother::Logger.new

  def self.configure(filename)
    @config_file = filename
    @clusters = BigBrother::Configuration.evaluate(filename)
  end

  def self.start_ticker!
    Ticker.schedule!
  end

  def self.reconfigure
    Ticker.pause do
      configure(@config_file)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
big_brother-0.4.1 lib/big_brother.rb
big_brother-0.4.0 lib/big_brother.rb