Ich versuche Versagen auf Stoff zu behandeln, aber das Beispiel, das ich auf der docs sah auch war für meinen Geschmack lokalisiert. Ich muss Rollback-Aktionen ausführen, wenn einige der Aktionen fehlschlagen. Ich habe versucht, dann, Kontexte zu verwenden, es zu handhaben, wie folgt aus:Handhabung Ausfälle mit Stoffe
@_contextmanager
def failwrapper():
with settings(warn_only=True):
result = yield
if result.failed:
rollback()
abort("********* Failed to execute deploy! *********")
Und dann
@task
def deploy():
with failwrapper():
updateCode()
migrateDb()
restartServer()
Leider, wenn eine dieser Aufgaben nicht, ich habe nicht alles auf result
.
Gibt es eine Möglichkeit, dies zu erreichen? Oder gibt es einen anderen Weg, solche Situationen zu bewältigen?