JobManagerTask Sınıf

İş Yöneticisi Görevinin ayrıntılarını belirtir.

İş Yöneticisi Görevi, İş oluşturulduğunda otomatik olarak başlatılır. Batch hizmeti, İş Yöneticisi Görevini İş'teki diğer görevlerde önce zamanlamayı dener. Bir Havuzu daraltırken Batch hizmeti, İş Yöneticisi Görevlerinin çalıştığı Düğümleri mümkün olduğunca uzun süre korumaya çalışır (başka bir ifadeyle, 'normal' Görevleri çalıştıran İşlem Düğümleri, İş Yöneticisi Görevlerini çalıştıran İşlem Düğümleri'ni çalıştırmadan önce kaldırılır). Bir İş Yöneticisi Görevi başarısız olduğunda ve yeniden başlatılması gerektiğinde, sistem bunu en yüksek önceliğe zamanlamaya çalışır. Kullanılabilir boşta İşlem Düğümü yoksa sistem, İş Yöneticisi Görevinin yeniden başlatılmasına yer açmak için Havuzda çalışan Görevlerden birini sonlandırabilir ve kuyruğa döndürebilir. Bir İşteki İş Yöneticisi Görevinin diğer İşlerdeki Görevlere göre önceliğe sahip olmadığını unutmayın. İşler genelinde yalnızca İş düzeyi öncelikleri gözlenir. Örneğin, öncelik 0 İşindeki bir İş Yöneticisinin yeniden başlatılması gerekiyorsa, öncelikli 1 İşin Görevlerinin yerini almayacaktır. Batch, Bir 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östermeleri 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.

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

Devralma
JobManagerTask

Oluşturucu

JobManagerTask(*, id: str, command_line: str, display_name: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, constraints=None, required_slots: int = None, kill_job_on_completion: bool = None, user_identity=None, run_exclusive: bool = None, application_package_references=None, authentication_token_settings=None, allow_low_priority_node: bool = None, **kwargs)

Parametreler

id
str
Gerekli

Gereklidir. Kimlik, kısa çizgi ve alt çizgi gibi alfasayısal karakterlerin herhangi bir bileşimini içerebilir ve 64'ten fazla karakter içeremez.

display_name
str
Gerekli

Benzersiz olması gerekmez ve en fazla 1024 uzunluğunda unicode karakter içerebilir.

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

İş Yöneticisi Görevinin altında çalıştığı kapsayıcının ayarları. Bu Görevi çalıştıracak Havuz containerConfiguration kümesine sahipse, bunun da ayarlanması gerekir. Bu Görevi çalıştıracak Havuzda containerConfiguration ayarlanmamışsa, ayarlanmamalıdır. 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. Kaynak dosyaları listesi için en büyük boyut vardır. Maksimum boyut aşıldığında istek başarısız olur ve yanıt hata kodu RequestEntityTooLarge olur. Bu durumda ResourceFiles koleksiyonunun boyutu küçültülmelidir. Bu, .zip dosyaları, Uygulama Paketleri veya Docker Kapsayıcıları kullanılarak elde edilebilir.

output_files
list[OutputFile]
Gerekli

Çok örnekli Görevler için dosyalar yalnızca birincil Görevin yürütüleceği İşlem Düğümünden karşıya yüklenir.

environment_settings
list[EnvironmentSetting]
Gerekli
constraints
TaskConstraints
Gerekli

İş Yöneticisi Görevi için geçerli olan kısıtlamalar.

required_slots
int
Gerekli

Görevin çalışması için gereken zamanlama yuvası sayısı. Varsayılan değer 1'dir. Bir Görev yalnızca düğümde yeterli boş zamanlama yuvası varsa bir işlem düğümünde çalışacak şekilde zamanlanabilir. Çok örnekli Görevler için bu özellik desteklenmez ve belirtilmemelidir.

kill_job_on_completion
bool
Gerekli

İş Yöneticisi Görevinin tamamlanıp tamamlanmadığı, işin tamamının tamamlanmasını gösterir. Doğruysa, İş Yöneticisi Görevi tamamlandığında Batch hizmeti İşi tamamlandı olarak işaretler. Şu anda çalışmaya devam eden görevler varsa (İş Sürümü dışında), bu Görevler sonlandırılır. False ise, İş Yöneticisi Görevinin tamamlanması İş durumunu etkilemez. Bu durumda, işi sonlandırmak için onAllTasksComplete özniteliğini kullanmanız veya bir istemcinin veya kullanıcının İşi açıkça sonlandırmasını sağlayın. Buna örnek olarak, İş Yöneticisi'nin bir görev kümesi oluşturması ancak yürütmesinde başka bir rol almamış olması gösteriliyor. Varsayılan değer true şeklindedir. İş ömrünü denetlemek için onAllTasksComplete ve onTaskFailure özniteliklerini kullanıyorsanız ve İş Yöneticisi Görevini yalnızca İşin Görevlerini oluşturmak için kullanıyorsanız (ilerlemeyi izlemek için değil), killJobOnCompletion değerini false olarak ayarlamanız önemlidir.

user_identity
UserIdentity
Gerekli

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

run_exclusive
bool
Gerekli

İş Yöneticisi Görevinin çalıştığı İşlem Düğümü'ne özel kullanım gerekip gerekmediği. True ise, İş Yöneticisi çalıştığı sürece aynı Düğümde başka hiçbir Görev çalışmaz. False ise, diğer Görevler bir İşlem Düğümündeki İş Yöneticisi ile aynı anda çalıştırılabilir. İş Yöneticisi Görevi normalde İşlem Düğümü'nin eş zamanlı Görev sınırına göre sayılır, bu nedenle bu yalnızca İşlem Düğümü birden çok eşzamanlı Göreve izin veriyorsa geçerlidir. Varsayılan değer true şeklindedir.

application_package_references
list[ApplicationPackageReference]
Gerekli

Uygulama Paketleri, Görev çalışma dizinine değil paylaşılan bir dizine indirilir ve dağıtılır. Bu nedenle, başvuruda bulunılan bir Uygulama Paketi zaten İşlem Düğümündeyse ve güncelse, yeniden indirılmaz; İşlem Düğümündeki mevcut kopya kullanılır. Başvurulan bir Uygulama Paketi yüklenemediyse, örneğin paket silindiği veya indirme başarısız olduğu için Görev başarısız olur.

authentication_token_settings
AuthenticationTokenSettings
Gerekli

Görevin Batch hizmeti işlemlerini gerçekleştirmek için kullanabileceği kimlik doğrulama belirtecinin ayarları. Bu özellik ayarlanırsa Batch hizmeti, Görev'e Hesap erişim anahtarı gerektirmeden Batch hizmeti işlemlerinin kimliğini doğrulamak için kullanılabilecek bir kimlik doğrulama belirteci sağlar. Belirteç, AZ_BATCH_AUTHENTICATION_TOKEN ortam değişkeni aracılığıyla sağlanır. Görevin belirteci kullanarak gerçekleştirebileceği işlemler ayarlara bağlıdır. Örneğin, bir Görev, işe başka Görevler eklemek için İş izinleri isteyebilir veya İşin durumunu ya da İş altındaki diğer Görevlerin durumunu denetleyebilir.

allow_low_priority_node
bool
Gerekli

İş Yöneticisi Görevinin Spot/Düşük öncelikli bir İşlem Düğümünde çalışıp çalışmayabileceği. Varsayılan değer true şeklindedir.

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'ı döndür.

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

XML serileştirmesini istiyorsanız kwargs is_xml=True değerini 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

Varsayılan olarak JSON, 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

Varsayılan olarak JSON, 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'ı döndür.

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

XML serileştirmesini istiyorsanız kwargs is_xml=True değerini 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 nesne dikte

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ü