-
Notifications
You must be signed in to change notification settings - Fork 27
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
Have pelican plugin move files in parallel #674
Have pelican plugin move files in parallel #674
Conversation
This is still a work in progress so setting as a draft. |
Smoke tests seem to show that this is working how it should, ready for review. |
Haven't had time for a full review but to provide some early feedback: This is approximately the design of the current parallel download when moving a directory. I want to improve things, however, by having the result of individual transfers be returned on a channel. That means there's a single for-loop that's both writing new tasks and reading results. For example of what this would give us: right now, there's a hard synchronization -- all transfers must complete before the overall process can fail. We know that we instead will want to fail all of them after the first transfer fails in the case of inputs. |
Now the plugin can move files just like handle_http does, starts up many workers and has a producer/consumer setup to download files in parallel.
Allows us to bail early if we encounter a failure on downloads
4bd4966
to
33d1d5d
Compare
Now just has 1 for loop for sending work and interpreting results as soon as we get them. The plugin should bail early if a download/any error happens.
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
Now the plugin can move files just like handle_http does, starts up many workers and has a producer/consumer setup to download files in parallel.