cylc / cylc-doc

Documentation (User Guide, Cheat Sheets, etc.) for the Cylc Workflow Engine.
https://cylc.github.io/cylc-doc/
GNU General Public License v3.0
9 stars 19 forks source link

optional outputs: better document how family triggers work with optional outputs #677

Open oliver-sanders opened 9 months ago

oliver-sanders commented 9 months ago

Users often struggle when optional outputs and families meet.

We should clarify what familiy-triggers (e.g. :succeed-any) mean and give an example or two.

Here's a valid example of usage:

[scheduling]
    [[graph]]
        R1 = """
            # don't bother running tasks 2&3 unless task 1 succeeded
            task1? => task2? & task3?

            # only run fin if all the tasks succeeded
            FAM:succeed-all? => fin

            # run something_worked if any of the tasks succeeded
            FAM:succeed-any? => something_worked
        """

[runtime]
    [[task1]]
        inherit = FAM
    [[task2]]
        inherit = FAM
    [[task3]]
        inherit = FAM
    [[FAM]]
    [[fin, something_worked]]