40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# File 'lib/logeater/cli.rb', line 40
def import(app, *files)
unless options[:force]
started_at = Time.now
imported_files = Logeater::Request.where(app: app).pluck("DISTINCT logfile")
finished_at = Time.now
$stderr.puts " > \e[34mListed imported logfiles for \e[1m#{app}\e[0;34m in \e[1m%.2f\e[0;34m seconds\e[0m\n" % [
finished_at - started_at ]
files_count = files.count
files.reject! { |file| imported_files.member? File.basename(file) }
$stderr.puts " \e[34;1m#{files_count}\e[0;34m files passed, \e[1m#{files_count - files.length}\e[0;34m removed as already imported.\e[0m\n\n"
end
if files.empty?
$stderr.puts "No files to import"
return
end
started_all = Time.now
files.each_with_index do |file, i|
$stderr.puts " > \e[34mImporting \e[1m#{File.basename(file)}\e[0;34m (%d of %d)\e[0m\n" % [
i + 1,
files.length ]
reader = Logeater::Reader.new(app, file, options.slice(:progress, :verbose))
started_at = Time.now
count = reader.remove_existing_entries!
finished_at = Time.now
$stderr.puts " \e[34mDeleted \e[1m%d\e[0;34m requests for #{reader.filename} in \e[1m%.2f\e[0;34m seconds\e[0m\n" % [
count,
finished_at - started_at ]
started_at = Time.now
count = reader.import
finished_at = Time.now
$stderr.puts " \e[34mImported \e[1m%d\e[0;34m requests in \e[1m%.2f\e[0;34m seconds\e[0m\n\n" % [
count,
finished_at - started_at ]
end
finished_all = Time.now
seconds = finished_all - started_all
minutes = (seconds / 60).to_i
seconds -= (minutes * 60)
$stderr.puts "Total time %d minutes, %.2f seconds" % [minutes, seconds]
end
|