私は生地の失敗を処理しようとしていますが、ドキュメントで見た例は私の好みにはローカライズされすぎていました。いくつかのアクションのいずれかが失敗した場合は、ロールバック アクションを実行する必要があります。次に、次のように、コンテキストを使用してそれを処理しようとしました。
@_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()
残念ながら、これらのタスクの 1 つが失敗すると、何も得られませんresult
。
これを達成する方法はありますか?または、そのような状況を処理する別の方法はありますか?