我试图处理织物上的故障,但我在文档中看到的示例太过本地化,不适合我的口味。如果任何一个操作失败,我需要执行回滚操作。我试过了,然后,利用上下文来处理它,就像这样:处理织物故障
@_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
得到任何东西。
有没有办法完成这个?还是有另一种处理这种情况的方式?