While debug a specific task in a running suite, I often do the following
- Make edits to the tasks script
- Do a
cylc reload
- Manually trigger the task
- Manually reset the downstream tasks to “waiting”.
Is there an easier way to trigger a task and all downstream tasks?
For example, I’m editing the script in task “b”, then I retrigger task “b”, and I want tasks c, d, and e to run after b finishes.
a => b => c => d
c => e
(Note: I’m still using the latest Cylc7 version)
In Cylc 7, if all the downstream tasks remain in the scheduler “task pool” you can use the CLI to reset them to “waiting” all at once (see cylc reset --help
). Otherwise, if they have been removed from the task pool as finished, you will need to put them back in with cylc insert
(this can also be done in one step, if you like, via the CLI).
In Cylc 8 this becomes trivial: simply trigger task b
again, and downstream tasks will flow on from that according to the graph (if you want them to).
Thanks for the pointer! Using the GLOB patterns in reset is helping. Sounds like Cylc 8 will do exactly what I want. Hopefully we can switch over soon now that 8.0.0 was release