Aracılığıyla paylaş


StartTask Sınıf

Düğüm Azure Batch hizmetindeki bir Havuza katıldığında veya İşlem Düğümü yeniden başlatıldığında veya yeniden oluşturulduğunda çalıştırılan görev.

Batch, Düğümde bir kurtarma işlemi tetiklendiğinde Görevleri yeniden dener. İyi durumda olmayan bir Düğüm yeniden başlatıldığında veya konak hatası nedeniyle bir İşlem Düğümü kaybolduğunda kurtarma işlemlerine örnek olarak verilebilir (ancak bunlarla sınırlı değildir). Kurtarma işlemleri nedeniyle yeniden denemeler şunlardan bağımsızdır ve maxTaskRetryCount'a göre sayılmaz. maxTaskRetryCount değeri 0 olsa bile, kurtarma işlemi nedeniyle bir iç yeniden deneme gerçekleşebilir. Bu nedenle, tüm Görevler bir kez etkili olmalıdır. Bu, Görevlerin bozulmaya veya yinelenen verilere neden olmadan kesintiye uğramasına ve yeniden başlatılmasına tolerans göstermesi gerektiği anlamına gelir. Uzun süre çalışan Görevler için en iyi yöntem, bir tür denetim noktası kullanmaktır. Bazı durumlarda İşlem Düğümü yeniden başlatılmamış olsa bile StartTask yeniden çalıştırılabilir. Ayrık işlem oluşturan veya StartTask çalışma dizininden hizmet yükleyen/başlatan StartTask'lerden kaçınmak için özel özen gösterilmelidir, bu da Batch'in StartTask'ı yeniden çalıştırabilmesini engeller.

Azure'a göndermek için tüm gerekli parametrelerin doldurulması gerekir.

Devralma
StartTask

Oluşturucu

StartTask(*, command_line: str, container_settings=None, resource_files=None, environment_settings=None, user_identity=None, max_task_retry_count: int = None, wait_for_success: bool = None, **kwargs)

Parametreler

command_line
str
Gerekli

Gereklidir. Komut satırı bir kabuk altında çalışmaz ve bu nedenle ortam değişkeni genişletmesi gibi kabuk özelliklerinden yararlanamaz. Bu tür özelliklerden yararlanmak istiyorsanız, kabuğu komut satırında çağırmanız gerekir; örneğin, Windows'ta "cmd /c MyCommand" veya Linux'ta "/bin/sh -c MyCommand" kullanın. Komut satırı dosya yollarına başvuruyorsa, göreli bir yol (Görev çalışma dizinine göre) veya Batch tarafından sağlanan ortam değişkenini (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables kullanmalıdır).

container_settings
TaskContainerSettings
Gerekli

StartTask'ın altında çalıştığı kapsayıcının ayarları. Bu belirtildiğinde, AZ_BATCH_NODE_ROOT_DIR (düğümdeki Azure Batch dizinlerinin kökü) altında özyinelemeli olarak tüm dizinler kapsayıcıyla eşlenir, tüm Görev ortamı değişkenleri kapsayıcıya eşlenir ve Görev komut satırı kapsayıcıda yürütülür. AZ_BATCH_NODE_ROOT_DIR dışında kapsayıcıda üretilen dosyalar ana bilgisayar diskine yansıtılmayabilir; bu da Batch dosya API'lerinin bu dosyalara erişemeyeceği anlamına gelir.

resource_files
list[ResourceFile]
Gerekli

Bu öğe altında listelenen dosyalar Görevin çalışma dizininde bulunur.

environment_settings
list[EnvironmentSetting]
Gerekli
user_identity
UserIdentity
Gerekli

StartTask'ın altında çalıştığı kullanıcı kimliği. Atlanırsa, Görev, Göreve özgü yönetici olmayan bir kullanıcı olarak çalışır.

max_task_retry_count
int
Gerekli

Görevin yeniden denenebileceği en fazla sayı. Batch hizmeti, çıkış kodu sıfır olmayan bir Görevi yeniden denenir. Bu değerin özellikle yeniden deneme sayısını denetlediğini unutmayın. Batch hizmeti Görevi bir kez dener ve bu sınıra kadar yeniden deneyebilir. Örneğin, en fazla yeniden deneme sayısı 3 ise, Batch Görevi en fazla 4 kez dener (ilk bir deneme ve 3 yeniden deneme). Yeniden deneme sayısı üst sınırı 0 ise, Batch hizmeti Görevi yeniden denemez. Yeniden deneme sayısı üst sınırı -1 ise, Batch hizmeti Görevi sınırsız olarak yeniden dener, ancak bu bir başlangıç görevi veya herhangi bir görev için önerilmez. Varsayılan değer 0'dır (yeniden deneme yoktur).

wait_for_success
bool
Gerekli

İşlem Düğümünde herhangi bir Görev zamanlamadan önce Batch hizmetinin StartTask'ın başarıyla tamamlanmasını (yani çıkış kodu 0 ile çıkmak için) beklemesi gerekip gerekmediği. True ise ve StartTask bir Düğümde başarısız olursa, Batch hizmeti StartTask'i en fazla yeniden deneme sayısı (maxTaskRetryCount) kadar yeniden dener. Tüm yeniden denemelerden sonra Görev yine de başarıyla tamamlanmamışsa, Batch hizmeti Düğümü kullanılamaz olarak işaretler ve Görevler'i buna zamanlamaz. Bu koşul İşlem Düğümü durumu ve hata bilgileri ayrıntıları aracılığıyla algılanabilir. False ise, Batch hizmeti StartTask'ın tamamlanmasını beklemez. Bu durumda, StartTask hala çalışırken diğer Görevler İşlem Düğümünde yürütülmeye başlayabilir; Ve StartTask başarısız olsa bile, yeni Görevler İşlem Düğümünde zamanlanmaya devam eder. Varsayılan değer true'dur.

Yöntemler

as_dict

json.dump kullanarak JSONify olabilecek bir dikte döndürebilirsiniz.

Gelişmiş kullanım isteğe bağlı olarak parametre olarak bir geri çağırma kullanabilir:

Anahtar, Python'da kullanılan öznitelik adıdır. Attr_desc, meta verilerin bir diktesidir. Şu anda msrest türüyle 'type' ve RestAPI kodlanmış anahtarıyla 'key' içerir. Değer, bu nesnedeki geçerli değerdir.

Döndürülen dize, anahtarı seri hale getirmek için kullanılır. Dönüş türü bir listeyse, bu hiyerarşik sonuç diktesi olarak kabul edilir.

Bu dosyadaki üç örne bakın:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

XML serileştirme istiyorsanız, kwargs is_xml=True geçirebilirsiniz.

deserialize

RestAPI söz dizimini kullanarak bir str ayrıştırın ve bir model döndürün.

enable_additional_properties_sending
from_dict

Verilen anahtar ayıklayıcıyı kullanarak bir dikteyi ayrıştırma bir model döndürür.

Varsayılan olarak anahtar ayıklayıcıları (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor ve last_rest_key_case_insensitive_extractor) göz önünde bulundurun

is_xml_model
serialize

Bu modelden Azure'a gönderilecek JSON kodunu döndür.

Bu, as_dict(full_restapi_key_transformer, keep_readonly=False) için bir diğer addır.

XML serileştirme istiyorsanız, kwargs is_xml=True geçirebilirsiniz.

validate

Bu modeli yinelemeli olarak doğrulayın ve ValidationError listesini döndürür.

as_dict

json.dump kullanarak JSONify olabilecek bir dikte döndürebilirsiniz.

Gelişmiş kullanım isteğe bağlı olarak parametre olarak bir geri çağırma kullanabilir:

Anahtar, Python'da kullanılan öznitelik adıdır. Attr_desc, meta verilerin bir diktesidir. Şu anda msrest türüyle 'type' ve RestAPI kodlanmış anahtarıyla 'key' içerir. Değer, bu nesnedeki geçerli değerdir.

Döndürülen dize, anahtarı seri hale getirmek için kullanılır. Dönüş türü bir listeyse, bu hiyerarşik sonuç diktesi olarak kabul edilir.

Bu dosyadaki üç örne bakın:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

XML serileştirme istiyorsanız, kwargs is_xml=True geçirebilirsiniz.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parametreler

key_transformer
<xref:function>

Anahtar transformatörü işlevi.

keep_readonly
varsayılan değer: True

Döndürülenler

JSON uyumlu bir dikte nesnesi

Dönüş türü

deserialize

RestAPI söz dizimini kullanarak bir str ayrıştırın ve bir model döndürün.

deserialize(data, content_type=None)

Parametreler

data
str
Gerekli

RestAPI yapısını kullanan bir str. Varsayılan olarak JSON.

content_type
str
varsayılan değer: None

JSON varsayılan olarak, XML ise application/xml değerini ayarlayın.

Döndürülenler

Bu modelin bir örneği

Özel durumlar

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Verilen anahtar ayıklayıcıyı kullanarak bir dikteyi ayrıştırma bir model döndürür.

Varsayılan olarak anahtar ayıklayıcıları (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor ve last_rest_key_case_insensitive_extractor) göz önünde bulundurun

from_dict(data, key_extractors=None, content_type=None)

Parametreler

data
dict
Gerekli

RestAPI yapısını kullanan bir dikte

content_type
str
varsayılan değer: None

JSON varsayılan olarak, XML ise application/xml değerini ayarlayın.

key_extractors
varsayılan değer: None

Döndürülenler

Bu modelin bir örneği

Özel durumlar

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Bu modelden Azure'a gönderilecek JSON kodunu döndür.

Bu, as_dict(full_restapi_key_transformer, keep_readonly=False) için bir diğer addır.

XML serileştirme istiyorsanız, kwargs is_xml=True geçirebilirsiniz.

serialize(keep_readonly=False, **kwargs)

Parametreler

keep_readonly
bool
varsayılan değer: False

Salt okunur öznitelikleri seri hale getirmek istiyorsanız

Döndürülenler

JSON uyumlu bir dikte nesnesi

Dönüş türü

validate

Bu modeli yinelemeli olarak doğrulayın ve ValidationError listesini döndürür.

validate()

Döndürülenler

Doğrulama hatası listesi

Dönüş türü