Sha256: 35e9283ec8292dcbdb0351e516eade4e047aa890e6b5bf060b8b0876c4cb1dbc

Contents?: true

Size: 1.76 KB

Versions: 11

Compression:

Stored size: 1.76 KB

Contents

#!/usr/bin/env ruby

$running = true
Signal.trap("TERM") do 
  $running = false
end

options = {}
optparse = OptionParser.new do |opts|
  opts.banner = "Usage #{File.basename(__FILE__)} [options]"
  options[:config] = "./appstats.config"
  opts.on( '--config FILE', 'Contains information about the databsae connection and the files to read' ) do |file|
    options[:config] = file
  end
  options[:logfile] = "./appstats.log"
  opts.on( '--logfile FILE', 'Write log to file' ) do |file|
    options[:logfile] = file
  end
end
optparse.parse!

require 'logger'
$logger = Logger.new(options[:logfile])
unless File.exists?(options[:config])
  Appstats.log(:info,"Cannot find config file [#{options[:config]}]")
  exit(1)
end

appstats_config = YAML::load(File.open(options[:config]))
ActiveRecord::Base.establish_connection(appstats_config['database'])
require File.join(File.dirname(__FILE__),"..","appstats")

last_processed_at = nil
Appstats.log(:info,"Started Appstats Log Collector")
while($running) do
  unless Appstats::LogCollector.should_process(last_processed_at)
    an_hour = 60*60
    sleep an_hour
    next
  end
  last_processed_at = Time.now
  ActiveRecord::Base.connection.reconnect!
  appstats_config["remote_servers"].each do |remote_server|
    Appstats::LogCollector.find_remote_files(remote_server,remote_server[:path],remote_server[:template])
  end
  Appstats::LogCollector.download_remote_files(appstats_config["remote_servers"])
  Appstats::LogCollector.process_local_files
  Appstats::ResultJob.run

  Appstats::Action.update_actions
  Appstats::Host.update_hosts
  Appstats::ContextKey.update_context_keys
  Appstats::ContextValue.update_context_values
  Appstats::LogCollector.remove_remote_files(appstats_config["remote_servers"])
  ActiveRecord::Base.connection.disconnect!
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
appstats-0.13.0 lib/daemons/appstats_log_collector.rb
appstats-0.12.5 lib/daemons/appstats_log_collector.rb
appstats-0.12.4 lib/daemons/appstats_log_collector.rb
appstats-0.12.2 lib/daemons/appstats_log_collector.rb
appstats-0.12.1 lib/daemons/appstats_log_collector.rb
appstats-0.11.7 lib/daemons/appstats_log_collector.rb
appstats-0.11.6 lib/daemons/appstats_log_collector.rb
appstats-0.11.5 lib/daemons/appstats_log_collector.rb
appstats-0.11.4 lib/daemons/appstats_log_collector.rb
appstats-0.11.3 lib/daemons/appstats_log_collector.rb
appstats-0.11.2 lib/daemons/appstats_log_collector.rb