-
Notifications
You must be signed in to change notification settings - Fork 2
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
Pull recursively #59
Pull recursively #59
Conversation
Since they are required to be parent-most
So that called methods appear in the order they're called
So that called methods appear in the order they're called
So that the boolean flags appear in the order of execution flow
Coveralls failure:
I need to make more commits here anyway, so let's delay investigating this in case it disappears on its own. |
Pull Request Test Coverage Report for Build 6722182340
💛 - Coveralls |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
And raise from context
Should have been separate commits for cyclic data in parent context and when an upstream node fails, but we'll live.
For pulling when all the nodes are parentless
They are duplicated in integration tests. In particular, we check pulling from inside a macro in the macro tests
Since it can't have one and its parent is always none. This prevents an error when a workflow sits at the top of a recursive data running call.
The presence of the executors indicates to me that you might be sitting around waiting for the result longer than expected; IMO it's healthier to push users towards actually putting things in a workflow and then invoking the workflow when they get to the point that they want to be using executors.
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Allow
pull
to recursively break out of its own context and cause parent nodes to also pull their input data trees.pull
,execute
, and__call__
are all just shortcuts forrun
with a convenient set of flags pre-set. Therun
command has a bunch of boolean flags to control the type of execution. To summarize these I'll just copy-paste the new docstring section:Here
__call__
is now the most aggressive thing imaginable, which invokes runs in both its own upstream data dependencies and (recursively!) parent node data dependencies. (It doesn't trigger downstream runs by emitting itsran
signal though).Note that since
Workflow
instances are a parent-most object, theirrun
method cannot run upstream data trees or push downstream execution signals, so in this casepull
andrun
operate the same (well, run has a couple of other flags you can change, but I mean with default values).Closes #54.
TODO: