Estoy tratando de manejar fallas en la tela, pero el ejemplo que vi en los documentos estaba demasiado localizado para mi gusto. Necesito ejecutar acciones de reversión si falla una de una serie de acciones. He intentado, a continuación, utilizar los contextos para manejarlo, así:Manejo de fallas con la tela
@_contextmanager
def failwrapper():
with settings(warn_only=True):
result = yield
if result.failed:
rollback()
abort("********* Failed to execute deploy! *********")
Y luego
@task
def deploy():
with failwrapper():
updateCode()
migrateDb()
restartServer()
Por desgracia, cuando una de estas tareas fallan, no tengo nada en result
.
¿Hay alguna forma de lograr esto? ¿O hay otra forma de manejar tales situaciones?