-
Notifications
You must be signed in to change notification settings - Fork 51
perf: download products and assets in parallel #1890
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
Draft
anesson-cs
wants to merge
15
commits into
develop
Choose a base branch
from
parallel-download
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+966
−968
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Code Coverage (Ubuntu)Diff against developResults for commit: aefce77 Minimum allowed coverage is ♻️ This comment has been updated with latest results |
Code Coverage (Windows)Diff against developResults for commit: aefce77 Minimum allowed coverage is ♻️ This comment has been updated with latest results |
during 'download_all()', download of products are done in parallel when a product has assets, they are downloaded in parallel
before, one progress bar was permanently updated and it was unreadable a counter of executor passings allow to determine the position of the bars
instead of having 'in_parallel' argument to pass to EOProduct download() method, set the thread name prefix of the executor in download_all() core method
6af3a44 to
f20515d
Compare
1255702 to
aefce77
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #146
Perform multiple products downloads from
download_all()core method in parallel to increase significantly efficiency.If a product has assets, they are also downloaded in parallel. In that case and if there are downloads in parallel, the same executor is used to not disturb the parallelism.
A user can decide to use his own executor by passing
executoras positional argument ofdownload()anddownload_all()core methods anddownload()method from anEOProductinstance. Otherwise, an executor by default without specification ofconcurrent.futures.ThreadPoolExecutorclass will be used instead.If a provider has limitations about the maximum number of workers from an executor to use, it will take over the current value of the executor if needed.