我认为这行不通。
对我来说,最简单的做法是运行两次:如果第二次运行出错,就直接中止。
不过,这并不像“运行两次”那么简单:
既然我们已经要处理这种混乱情况,就必须应对存在多个依赖关系的场景。
此外,还需要考虑如何干净地回滚,因此这绝非一项简单的任务。