Skip to content

Conversation

@boegel
Copy link
Member

@boegel boegel commented Sep 21, 2021

  • refactoring to simplify creating/updating/stopping progress bars
  • separate progress bars for:
    • overall progress
    • progress per easyconfig
    • use larger "weight" for long running steps (configure, build, install, extensions)
    • show progress for downloading file (pop-up)
    • only show progress for long downloads (sufficiently large files, or longer than N secs)
    • show overall progress when downloading files (N/M done)
    • extensions progress (pop-up)
  • only show overall progress bar when there's more than 1 installation
  • move code to determine file size before downloading to a dedicated function, and also use it when downloading via requests
  • tweak progress bar output when using --fetch, --stop, ...
  • don't show progress bars in dry run mode
  • show name of running step in easyconfig progress bar
  • use spinner for running step
  • don't print step progress lines when using progress bars (or change to only show them per installation?)
    • for now, I'd like to keep the standard output, so that progress bars are only shown when the session is still running...

fixes #2596, fixes #3041

@easybuilders easybuilders deleted a comment from boegelbot Sep 27, 2021
@easybuilders easybuilders deleted a comment from boegelbot Oct 9, 2021
@easybuilders easybuilders deleted a comment from boegelbot Oct 13, 2021
@easybuilders easybuilders deleted a comment from boegelbot Oct 13, 2021
@boegel boegel force-pushed the multi_level_progress branch from 6a8d5ff to ab10363 Compare October 13, 2021 20:55
Copy link
Member

@branfosj branfosj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to actually run EB with this to see how I like the look / feel.

@boegel
Copy link
Member Author

boegel commented Oct 14, 2021

@branfosj @nordmoen I consider this pretty complete now (see checklist in PR description).

There's probably room for improvement/further tweaking, but I'd like to keep that for smaller follow-up PRs, unless there's something in here w.r.t. code changes or look & feel you'd like to see changed...

"""Shim for Rich's Progress class."""
PROGRESS_BAR_DOWNLOAD_ALL = 'download_all'
PROGRESS_BAR_DOWNLOAD_ONE = 'download_one'
PROGRESS_BAR_EXTENSIONS = 'extensions'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This handles extensions, but not components. We should do something similar for them. I'm happy for that to be a follow on enhancement.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Components are specific to the Bundle easyblock, framework doesn't know about them...

I think we can handle this by providing a "neutral" progress bar which can be used by easyblock to display progress on a specific aspect (like installing a list of components). I'd keep that for a follow-up PR though...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a note to #3827 on that...

@boegel boegel marked this pull request as ready for review October 16, 2021 12:52
@boegel boegel requested a review from branfosj October 16, 2021 13:25
@branfosj
Copy link
Member

Going in, thanks @boegel!

@branfosj branfosj merged commit 344adf2 into easybuilders:develop Oct 18, 2021
@boegel boegel deleted the multi_level_progress branch October 18, 2021 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Download progress for large files and/or slow downloads Feature: progress bar for "fetching files"

2 participants