Triggering Task Dependencies on Failure

I am trying to figure out the best way to enforce dependencies between tasks. The initial plan was to add asset dependencies to the tasks and then add a postflight script to each task which creates the file to trigger the next task to begin.

Unfortunately, the issue I am running into is that, if a task fails, the postflight script is never run, meaning that I can’t trigger downstream tasks to either continue or fail when a task fails.

The best solutions I have been able to come up with so far are:

  1. adding a preflight script to each downstream task which runs in a loop, checking for the upstream task status
  2. Changing these sets of tasks into a series of jobs so that I can use job dependencies and the ‘ResumeOnFailedDependencies’ parameter
    Neither of which are particularly appealing to me.

Hoping someone here might have a better suggestion as to how I might be able to trigger downstream tasks when an upstream task has failed.

Thank you in advance for your help!