-
Notifications
You must be signed in to change notification settings - Fork 306
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
Proposal for 'after' keyword #162
Conversation
I thought I was going to hate Is there any harm in allowing |
Ooh I like this idea. I can see this being useful if I want to have a task write to a dB then another read from the db, if there’s no actual file outputs to use as dependencies. |
Yeah this is a fairly common complaint. Our stock answer is to wire in a fake output/input but that is horrible. Left to my own devices I’d probably have gone with the ‘dependsOn’ syntax from zamboni but ‘after’ reads so naturally with the call syntax |
@geoffjentry I don't see any harm in allowing both. The |
Looks good to me. |
Totally ToL and personal opinion: I find something like |
versions/draft-3/SPEC.md
Outdated
|
||
Calls can be run as soon as their inputs are available. If `call x`'s inputs are based on `call y`'s outputs, this means that `call x` can be run as soon as `call y` has completed. | ||
|
||
To add a dependency from x to y that isn't based on outputs, you can use the `after` keyword, such as `call x after y after z`. But note that this is only required if `x` doesn't already depend on an output from `y`. |
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.
I think that if there are multiple dependencies the notation should be less redundant. Perhaps
call x after y and z
or
call x after y,z
@Horneth your suggestion will make it harder to understand the flow of calls since to determine the dependence of call X one would need to examine all the call statements (to see if any of them have |
Agree with @yfarjoun. I think the |
👍 |
2 similar comments
👍 |
👍 |
This has officially passed on a vote of 3-0 (really 4-0, but I forgot to vote). As there are no implementations, this will hang out until such time as it actually exists |
one plug for after with dependencies is this: #183 although i dont think this definition requires after to always run, only guaranteed ordering despite dependencies |
@abaumann At this point this PR is as-is, which is not to say that one couldn't open a subsequent PR |
@cjllanwarne It'd be good to update this to reflect it being against |
152efe0
to
8a931cf
Compare
Merging as there is an implementation (Cromwell) and there are no conflicts |
Tidies up the call section, and introduces a proposed new
after
keyword to provide non-output-based dependencies