2012-06-22 4 views
5

Nell'eventualità che Fabric entri in modo pulito o meno, devo eseguire una serie di attività di pulizia (principalmente eliminare file temporanei e cartelle).Fabric equivalente di try finally

Come posso ottenere questo risultato con Fabric?

risposta

0

Si può sempre usare il nuovo execute() e avvolgerlo in un try/except o semplicemente guardare i codici di ritorno da run() s.

5

mettere qualcosa come questo nel tuo fabfile:

from fabric.context_managers import settings 

def task_name(): 
    # commands that are not expected to fail 
    ... 
    with settings(warn_only=True): 
     # commands that might fail 
     ... 
    clean_up() 

Si potrebbe anche voler dare l'intera attività del trattamento warn_only=True, se non vi interessa:

@with_settings(warn_only=True) 
def task_name(): 
    ... 

(more info)

+0

Questo deve essere eseguito attraverso il metodo. Come un tentativo di cattura universale –