-
Notifications
You must be signed in to change notification settings - Fork 17
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
Workflow-level function calls used in multiple stages pushed into first stage #162
Comments
Compiled version of initial workflow:
|
@jtratner I think this will actually work the way you want to, in release 0.71. Can you check it out please? |
Another improvement was made in release 0.72. Any top level WDL call that has no subexpressions is compiled directly into a stage. |
is it possible that the fix here got reverted at some point? In 0.78.1 I had to add a noop tasks to prevent this from occurring. Specifically this is case where:
then task 3 has to wait on task2 for completion. |
Are you compiling it in locked, or unlocked mode? |
Sorry I didn't respond - unlocked mode. |
Having just rewritten the compiler, I think your workaround is the way to solve it. Yes, it is hacky, but it is simple. |
Could the
common
stage handle running string manipulation functions on workflow inputs? That way, the parallelism would be preserved.For example, this workflow will be compiled such that both stageB and stageC are dependent upon stageA for run_name.
Gets compiled such that the run_name calculation is pushed into running "stageA", and then has stageB and stageC depend upon that (so if you had a super long-running task, the later stages would all have to wait).
If you add a compile step that doesn't do anything, it's all good.
The text was updated successfully, but these errors were encountered: