SORU
6 EKİM 2010, ÇARŞAMBA


Nasıl Kumaş bir hata aldığında göreve devam etmek için

Ben bir görev birkaç uzak sunucularda çalıştırmak için tanımlarken, görev sunucusu üzerinde çalışır ve bir hata ile çıkar, Kumaşı kes ve görevi iptal eder. Ama kumaş hatayı yok sayıp görevi çalıştırmak Bir sonraki server üzerinde yapmak istiyorum. Nasıl bunu yapabilir miyim?

Örneğin:

$ fab site1_service_gw
[site1rpt1] Executing task 'site1_service_gw'

[site1fep1] run: echo 'Nm123!@#' | sudo -S route
[site1fep1] err:
[site1fep1] err: We trust you have received the usual lecture from the local System
[site1fep1] err: Administrator. It usually boils down to these three things:
[site1fep1] err:
[site1fep1] err:     #1) Respect the privacy of others.
[site1fep1] err:     #2) Think before you type.
[site1fep1] err:     #3) With great power comes great responsibility.
[site1fep1] err: root's password:
[site1fep1] err: sudo: route: command not found

Fatal error: run() encountered an error (return code 1) while executing 'echo 'Nm123!@#' | sudo -S route '

Aborting.

CEVAP
6 EKİM 2010, ÇARŞAMBA


the docs:

... Kumaş varsayılan bir “fail-fast” davranış kalıbı: eğer herhangi bir terslik gibi bir uzaktan program döndükten sıfır olmayan bir dönüş değeri veya fabfile bu Python kodu karşılaşmış bir istisna, yürütme durdurmak hemen.

Bu genellikle istenen bir davranıştır, ama bu kuralın birçok istisnası vardır, Kumaş env sağlar.warn_only, Boolean ayarı. Yanlış, yani bir hata durumu için varsayılan program hemen iptal ediliyor neden olacaktır. Ancak, env.warn_only başarısızlık zamanında Gerçek–, diyelim ki, ayarları içerik yöneticisi ile Kumaş bir uyarı iletisi verir ama yürütme devam edecektir.

Görünüşe göre hatalar: ** 6, bir şey kullanarak ihmal olduğu üzerinde ince taneli kontrol egzersiz yapabilirsiniz

sudo('mkdir tmp') # can't fail
with settings(warn_only=True):
    sudo('touch tmp/test') # can fail
sudo('rm tmp') # can't fail

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • DudeFromUkraine

    DudeFromUkra

    7 Ocak 2008
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009