Class: Daikon::Daemon

Inherits:
Object
  • Object
show all
Defined in:
lib/daikon/daemon.rb

Class Method Summary collapse

Class Method Details

.start(argv) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/daikon/daemon.rb', line 3

def self.start(argv)
  config = Daikon::Configuration.new(argv)

  if argv.include?("-v") || argv.include?("--version")
    puts "Daikon v#{VERSION}"
    return
  end

  Daemons.run_proc("daikon", :log_output => true, :backtrace => true) do
    if argv.include?("run")
      logger = Logger.new(STDOUT)
    else
      logger = Logger.new("/tmp/radish.log")
    end

    count  = 0
    client = Daikon::Client.new
    client.setup(config, logger)
    client.start_monitor

    loop do
      if count % 5 == 0
        client.report_info
      end

      client.fetch_commands

      if count % 10 == 9
        client.rotate_monitor
      end

      count += 1
      sleep 1
    end
  end
end