2012-06-22 2 views
5

В случае, если Fabric выходит из строя или нет, мне нужно выполнить кучу задач очистки (в основном удалять временные файлы и папки).Ткань эквивалент try наконец

Как я могу достичь этого с помощью ткани?

ответ

0

Вы всегда можете использовать новый execute() и обернуть его в try/except или просто посмотреть коды возврата из вашего run() s.

5

Put что-то подобное в вашем 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() 

Вы даже можете дать все задание на warn_only=True лечение, если вы не заботитесь:

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

(more info)

+0

Это должно пройти через метод. Как универсальная попытка поймать –