-
Notifications
You must be signed in to change notification settings - Fork 94
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
examples: extending workflow #6278
Conversation
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.
Looks fine, but I wonder if we should:
- document that if you stop the workflow at any point before the final "stop task" (even after some, but not all, stop tasks have run) and restart with a later stop point, the original stop task branch will be truncated, and a new one "rebased" onto the new stop point
- add explicit dependence on the main cycling graph so that the example stop tasks really don't start running until just before shutdown. As it stands, they will start running as soon as the runahead limit allows, concurrent with earlier cycles.
Both of these points should be kinda obvious, but IMO it doesn't hurt to make examples like this as explicit as possible.
Sorry, I don't understand this. I don't think the |
I mean if the stop-task sub-graph has already started, but not finished, when the user stops or kills the workflow ... and then restarts it with a new stop-after-cycle-point. |
Does this not have the same impact as changing the stop cycle (note cycle not task) at runtime (e.g. via It just pushes the stop cycle back (as requested) but continue as normal with no graph changes? |
What I think Hilary may be getting at, is that in the example the stop cycle point is hardcoded and the stop cycle point task will remain 3000 unless the user changes it in the config and reloads: It might be worth warning users that this case requires a change to the jinja2 value and a Cylc VR. If you do The CLI centric route around this would be Part of me thinks that it'd not be unreasonable to provide the stop Cycle point as a template variable. (None of the test failures look related to this change) |
The same applies to the initial/start/final cycle points? Note, there is no "stop task" in this example, only a "stop cycle". |
OK I'll try to explain myself better. I'm just suggesting we should tell users the potential consequences of basing a sub-graph off of a dynamically set cycle point. Original graph with P1 = "foo[-P1] => foo => bar"
R1/3 = "bar => a => b => c & d". # {% set stop_cycle = 3 %} But if I run this then shut it down while It might be obvious to us that the original stop-cycle sub-graph gets truncated and a whole new one gets based on cycle 6, but I'm not sure it'll be so obvious to all users. |
I also think the example should have intercycle dependence (like mine above) and anchor the stop-cycle sub-graph to the main graph (like mine above), so that (in lieu of #5090) the stop-cycle sub-graph runs just before the workflow shuts down at the |
Gotcha. The same thing applies to the final cycle point (e.g. |
* Fix incorrect heading level * Add a note about scheduling tasks to run at the "stop after cycle point".
c4429a0
to
34c9fa5
Compare
@hjoliver, done. |
Check List
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
(andconda-environment.yml
if present).?.?.x
branch.