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