This PR adds a new configuration option concurrency_limit which forces the batches of files to be read and then closed in smaller chunks, rather than keeping a process open for each file found in the glob search. For servers with a large number of logfiles, even at low IO and CPU priority ultragrep could still cause IO starvation due to all the processes opening files at once.
Tasks/Steps to Merge
[x] :green_apple:
[ ] :+1:
References
/cc @zendesk/sustaining
Risks
Log results may be returned in a slightly different order, but all the same results will still be present.
Description
This PR adds a new configuration option
concurrency_limit
which forces the batches of files to be read and then closed in smaller chunks, rather than keeping a process open for each file found in the glob search. For servers with a large number of logfiles, even at low IO and CPU priority ultragrep could still cause IO starvation due to all the processes opening files at once.Tasks/Steps to Merge
References
/cc @zendesk/sustaining
Risks
Log results may be returned in a slightly different order, but all the same results will still be present.