Class: NFAgent::Server

Inherits:
Object show all
Defined in:
lib/nfagent/server.rb

Instance Method Summary collapse

Instance Method Details

#runObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/nfagent/server.rb', line 3

def run
  Log.info("Starting up: Listening on port #{Config.agent_port}")
  Log.info("Data will be submitted to #{Config.service_host}:#{Config.service_port}")
  NFAgent::Plugin.load_plugins

  Log.info("Parsing #{Config.parse}")
  Log.info("Mode set to #{Config.mode}")

  chunk_handler = ChunkHandler.new
  poller = Poller.new

  EM.run {
    EM.start_server "0.0.0.0", Config.agent_port, Event, chunk_handler, poller
    EM::PeriodicTimer.new(5) do
      chunk_handler.check_full_or_expired
    end
    EM::PeriodicTimer.new(120) do
      poller.send_heartbeat
    end
    Submitter.run_every(60)
  }
end

#shutdownObject



26
27
28
# File 'lib/nfagent/server.rb', line 26

def shutdown
  EM::stop_event_loop if EM::reactor_running?
end