New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a progress bar indicator for record processing #111
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a news entry 👍
626c0b9
to
bf27253
Compare
ecb37f5
to
58f68a5
Compare
669bde5
to
99ff50a
Compare
I played with this for a while locally. I've pushed some fixup commits that manage to make it much faster, especially in the incomplete file / OOM killer case. Rather than letting Rich decide when to redraw the screen, my version calculates that ourselves, using calls to Incidentally, I also raised |
As record processing is an operation that can take an arbitrary amount of time depending on the size of the file, some users can be frustrated because they don't know how much time the processing is going to take. To help with this, add a progress bar indicator that periodically updates while we are processing records in the `FileReader`. The class is updated strategically to avoid impacting the performance of the actual processing. Co-authored-by: Matt Wozniski <godlygeek@gmail.com> Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
As record processing is an operation that can take an arbitrary amount
of time depending on the size of the file, some users can be frustrated
because they don't know how much time the processing is going to take.
To help with this, add a progress bar indicator that periodically
updates while we are processing records in the
FileReader
. The class isupdated strategically to avoid impacting the performance of the actual
processing.