added threading to file processing

threading
Jeff Yates 2020-11-21 19:11:29 -05:00
parent 2466a6b28b
commit ddb4003e66
1 changed files with 7 additions and 3 deletions

View File

@ -148,7 +148,7 @@ def process_file (file_name, binfile, type)
sections.delete_at(0) #we can ignore the first chunk of text sections.delete_at(0) #we can ignore the first chunk of text
sections.each do |chunk| sections.each do |chunk|
timestamp = chunk.lines.delete_if {|line| line == "\r\n"}[0] #pulling out the timestamp timestamp = chunk.lines.delete_if {|line| line == "\r\n"}[0] #pulling out the timestamp
timestamp.tr!('/','-').tr!(':','').tr!(' ','_') #remove slashes and colons from timestamp, replaces spaces with unserscores timestamp.tr!('/','-').tr!(':','').tr!(' ','_') #remove slashes and colons from timestamp, replaces spaces with underscores
timestamp.strip! timestamp.strip!
output = Hash.new #Creating the output storage object output = Hash.new #Creating the output storage object
outfile = file_name + '_' + timestamp outfile = file_name + '_' + timestamp
@ -176,10 +176,14 @@ end
# #
#This method will process all .txt files in the supplied directory #This method will process all .txt files in the supplied directory
def process_dir(dir_name, binfile, type) def process_dir(dir_name, binfile, type)
threads = []
Dir.glob(dir_name + '*.txt') do |file_name| Dir.glob(dir_name + '*.txt') do |file_name|
threads << Thread.new do
puts "Processing " + file_name puts "Processing " + file_name
process_file(file_name, binfile, type) process_file(file_name, binfile, type)
end end
end
threads.each { |thr| thr.join }
end end
def generate_master_output(dir_name, binfile) def generate_master_output(dir_name, binfile)