我正在尝试处理织物上的故障,但是我在文档上看到的示例过于本地化,不适合我的口味。如果许多操作中的任何一个失败,我需要执行回滚操作。然后,我尝试使用上下文来处理它,如下所示:
@_contextmanager
def failwrapper():
with settings(warn_only=True):
result = yield
if result.failed:
rollback()
abort("********* Failed to execute deploy! *********")
进而
@task
def deploy():
with failwrapper():
updateCode()
migrateDb()
restartServer()
不幸的是,当其中一项任务失败时,我在result
.
有没有办法做到这一点?或者是否有另一种处理这种情况的方法?