module Populus::Daemon

Public Class Methods

run(setting: nil) click to toggle source
# File lib/populus/daemon.rb, line 6
def self.run(setting: nil)
  raise ArgumentError unless setting
  Populus.eval_setting(setting)
  threads = Populus::Pool.gen_threads

  trap(:INT) do
    STDERR.puts "Caught SIGINT. Quitting..."
    threads.each(&:kill)
  end

  threads.each(&:join)
  Populus.logger.warn "Consul process exited. Aborting..."
end