# Abort on stall timeout unless we remove unhandled failed and waiting task.
[scheduler]
    [[events]]
        stall timeout = PT30S
        abort on stall timeout = True
        expected task failures = 1/b
[scheduling]
    [[graph]]
        R1 = """
            a => b => c
            cleaner
        """
[runtime]
    [[a,c]]
        script = true
    [[b]]
        script = false
    [[cleaner]]
        script = """
            cylc__job__poll_grep_workflow_log -E '1/b/01.* failed'
            # Remove the unhandled failed task
            cylc remove "$CYLC_WORKFLOW_ID//1/b"
            # Remove waiting 1/c
            # (not auto-removed because parent 1/b, an unhandled fail, is not finished.)
            cylc remove "$CYLC_WORKFLOW_ID//1/c:waiting"
        """
