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
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
Benzersiz olması gerekmez ve en fazla 1024 uzunluğunda unicode karakter içerebilir.
- command_line
- str
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
İş 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]
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]
Ç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]
- required_slots
- int
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
İş 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
İş 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
İş 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]
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
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
İş 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:
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
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
- content_type
- str
Varsayılan olarak JSON, XML ise application/xml değerini ayarlayın.
Döndürülenler
Bu modelin bir örneği
Özel durumlar
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
- content_type
- str
Varsayılan olarak JSON, XML ise application/xml değerini ayarlayın.
- key_extractors
Döndürülenler
Bu modelin bir örneği
Özel durumlar
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
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ü
Azure SDK for Python
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin