BatchStartTask interface
Batch, Bir Düğümde 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 yapılan yeniden denemeler, maxTaskRetryCount'a göre bağımsızdır ve 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. Batch'in StartTask'ı yeniden çalıştırabilmesini engellediği için, 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.
Özellikler
| command |
StartTask komut satırı. Komut satırı bir kabuk altında çalışmaz ve bu nedenle ortam değişkeni genişletme 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) kullanmalıdır. |
| container |
StartTask'ın altında çalıştığı kapsayıcının ayarları. Bu belirtildiğinde, AZ_BATCH_NODE_ROOT_DIR altındaki tüm dizinler (düğümdeki Azure Batch dizinlerinin kökü) kapsayıcıya 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 konak diske yansıtılmayabilir; bu da Batch dosya API'lerinin bu dosyalara erişemeyeceği anlamına gelir. |
| environment |
StartTask için ortam değişkeni ayarlarının listesi. |
| max |
Görevin yeniden denenebileceği en fazla sayı. Batch hizmeti, çıkış kodu sıfır olmayan bir Görevi yeniden denenir. Bu değerin yeniden deneme sayısını özellikle denetlediğini unutmayın. Batch hizmeti Görevi bir kez dener ve bu sınıra kadar yeniden deneyebilir. Örneğin, yeniden deneme sayısı üst sınırı 3 ise Batch Görevi en fazla 4 kez dener (ilk 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 yok). |
| resource |
Komut satırını çalıştırmadan önce Batch hizmetinin İşlem Düğümüne indireceği dosyaların listesi. Kaynak dosyaları listesi için en büyük boyut vardır. En büyük boyut aşıldığında istek başarısız olur ve yanıt hata kodu RequestEntityTooLarge olur. Bu durumda ResourceFiles koleksiyonunun boyutu azaltılmalıdır. Bu, .zip dosyaları, Uygulama Paketleri veya Docker Kapsayıcıları kullanılarak elde edilebilir. Bu öğe altında listelenen dosyalar Görevin çalışma dizininde bulunur. |
| user |
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. |
| wait |
Batch hizmetinin İşlem Düğümünde herhangi bir Görevi zamanlamadan önce StartTask'ın başarıyla tamamlanmasını (yani çıkış kodu 0 ile çıkmak için) beklemesi gerekip gerekmediği. True ise ve StartTask bir Node'da başarısız olursa, Batch hizmeti StartTask'ı en yüksek yeniden deneme sayısına (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örev zamanlaması yapılmaz. 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 çalışmaya devam ederken 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 zamanlamaya devam eder. Varsayılan değer true'dur. |
Özellik Ayrıntıları
commandLine
StartTask komut satırı. Komut satırı bir kabuk altında çalışmaz ve bu nedenle ortam değişkeni genişletme 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) kullanmalıdır.
commandLine: string
Özellik Değeri
string
containerSettings
StartTask'ın altında çalıştığı kapsayıcının ayarları. Bu belirtildiğinde, AZ_BATCH_NODE_ROOT_DIR altındaki tüm dizinler (düğümdeki Azure Batch dizinlerinin kökü) kapsayıcıya 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 konak diske yansıtılmayabilir; bu da Batch dosya API'lerinin bu dosyalara erişemeyeceği anlamına gelir.
containerSettings?: BatchTaskContainerSettings
Özellik Değeri
environmentSettings
StartTask için ortam değişkeni ayarlarının listesi.
environmentSettings?: EnvironmentSetting[]
Özellik Değeri
maxTaskRetryCount
Görevin yeniden denenebileceği en fazla sayı. Batch hizmeti, çıkış kodu sıfır olmayan bir Görevi yeniden denenir. Bu değerin yeniden deneme sayısını özellikle denetlediğini unutmayın. Batch hizmeti Görevi bir kez dener ve bu sınıra kadar yeniden deneyebilir. Örneğin, yeniden deneme sayısı üst sınırı 3 ise Batch Görevi en fazla 4 kez dener (ilk 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 yok).
maxTaskRetryCount?: number
Özellik Değeri
number
resourceFiles
Komut satırını çalıştırmadan önce Batch hizmetinin İşlem Düğümüne indireceği dosyaların listesi. Kaynak dosyaları listesi için en büyük boyut vardır. En büyük boyut aşıldığında istek başarısız olur ve yanıt hata kodu RequestEntityTooLarge olur. Bu durumda ResourceFiles koleksiyonunun boyutu azaltılmalıdır. Bu, .zip dosyaları, Uygulama Paketleri veya Docker Kapsayıcıları kullanılarak elde edilebilir. Bu öğe altında listelenen dosyalar Görevin çalışma dizininde bulunur.
resourceFiles?: ResourceFile[]
Özellik Değeri
userIdentity
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.
userIdentity?: UserIdentity
Özellik Değeri
waitForSuccess
Batch hizmetinin İşlem Düğümünde herhangi bir Görevi zamanlamadan önce StartTask'ın başarıyla tamamlanmasını (yani çıkış kodu 0 ile çıkmak için) beklemesi gerekip gerekmediği. True ise ve StartTask bir Node'da başarısız olursa, Batch hizmeti StartTask'ı en yüksek yeniden deneme sayısına (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örev zamanlaması yapılmaz. 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 çalışmaya devam ederken 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 zamanlamaya devam eder. Varsayılan değer true'dur.
waitForSuccess?: boolean
Özellik Değeri
boolean