#!Jinja2

[scheduler]
   [[events]]
      abort on stall timeout = True
      stall timeout = PT20S

[scheduling]
    [[graph]]
        # The "starter" task sleeps 5 seconds between start and complete.
        # NOHOPE family should start first, so we'll have a "cylc jobs-submit"
        # starting to run the talkingnonsense command (which sleeps and talks
        # nonsense!) in serial.
        # While the above "cylc jobs-submit" is still on going, we start
        # another "cylc jobs-submit" command doing normal job submissions of
        # HOPEFUL tasks.
        # The first job submission command should never finish before getting
        # killed (see global configuration in ".t" file causing the NOHOPE
        # family to go into submission failure and triggering the stopper task.
        # The idea is that the NOHOPE job submission nonsense should not block
        # the HOPEFUL tasks from launching normally.
        R1 = "starter:start => NOHOPE"
        R1 = "starter => HOPEFUL"
        R1 = HOPEFUL:succeed-all
        R1 = "NOHOPE:submit-fail-all? => stopper"

[runtime]
    [[starter]]
        script = cylc__job__wait_cylc_message_started; sleep 5
    [[HOPEFUL]]
        script = true
    [[NOHOPE]]
        platform = {{ environ['CYLC_TEST_PLATFORM'] }}
    [[nh0, nh1, nh2, nh3, nh4, nh5, nh6, nh7, nh8, nh9]]
        inherit = NOHOPE
    [[h0, h1, h2, h3, h4, h5, h6, h7, h8, h9]]
        inherit = HOPEFUL
    [[stopper]]
        script = cylc stop "${CYLC_WORKFLOW_ID}"
