I have a suite that runs a few tasks in R1 to prepare the suite directory. These tasks grab the source code, and compile it, so that subsequent apps will run properly. Running them in R1 makes sense as I don’t need to do it again afterwards.
The tasks that require the compiled code only ever run in T00, but the suite has other things that run at T12 as well.
When I start the suite on a T00 cycle point all is fine. But when I start the suite on a T12 cycle point some of those tasks in R1 also run, but shouldn’t. In fact the R1 tasks that prepare the suite for the next T00 run should run in this case, but not go any further because I haven’t started on a T00.
[[dependencies]] [[[R1]]] # Run once at initial cycle graph = """ install_srcs => make_engine make_engine => run_engine """ [[[T00]]] graph = """ poll_data_00 => run_engine => housekeep """ [[[T12]]] graph = """ ... """
I hope I have simplified my actual suite correctly to show what’s going on.
The poll_data_00 task is only designed to run in T00, that’s fine.
But the run_engine task should have a dependency on make_engine, as it cannot run beforehand.
How do I make sure that install_srcs and make_engine runs in R1 regardless of the cycle-point I start the suite on. All the while maintaining that make_engine is finished before run_engine ever runs?