Thank you for the feedback. Here’s how I solved it:
@sync @async for rawline::String in eachline(logfile)
line::String = try
Unicode.normalize(rawline, :NFKC)
catch
return nothing
end
parser_function_one(line)
parser_function_two(line)
end
the collect() method works, but obviously loads each line into a vector in memory. This doesn’t seem to do that and uses tasks to keep the cores busy while parsing and writing the results of the functions to the dataframe.