Hi,
I was wondering how Cylc8 differs to Cylc7 when adding new tasks to an active workflow? In Cylc7, if you modify the graph to add new tasks, you had either
- Insert the new tasks manually from CLI, and force trigger them if their pre-reqs had been satisfied but the pre-req tasks had been removed from the graph
- Stop and freshly start a workflow from an appropriate cycle point
How about in Cylc8?
e.g.
# assme par1, par2 are just '0,1,2,3,4' for these purposes
@START_RUN => start => a<par1, par2> => b<par1, par2> => c<par1, par2> => cleanup
a<par1-1, par2> => a<par1, par2>
cleanup[-PT6H] => start
#BECOMES (a)
@START_RUN => start => a<par1, par2> => new<par1,par2> => b<par1, par2> => cleanup
a<par1-1, par2> => a<par1, par2>
cleanup[-PT6H] => start
#OR BECOMES (b)
@START_RUN => new_start => start => a<par1, par2> => b<par1, par2> => cleanup
a<par1-1, par2> => a<par1, par2>
cleanup[-PT6H] => start
etc
If you were to make these graph changes in Cylc8, hypothetically lets say in two situations (but please mention more if there are other variations that should be mentioned), what would need to be done, if anything other than a straight reload?
a. cleanup.10 has finished, start.11 is currently waiting on START_RUN in the graph
b. a<par1={0,1,2,3}, par2=0>.20
, b<par1={0,1,2,3},par2=0>
, c<par1={0,1,2},par2=0>
have finished, and c<par1=3,par2=0>.20
and a<par1=4,par2=0>.20
are running.