Bagikan melalui


BatchStartTaskOutput interface

Batch akan mencoba kembali Tugas ketika operasi pemulihan dipicu pada Node. Contoh operasi pemulihan termasuk (tetapi tidak terbatas pada) ketika Node yang tidak sehat di-boot ulang atau Simpul Komputasi menghilang karena kegagalan host. Percobaan ulang karena operasi pemulihan tidak bergantung pada dan tidak dihitung terhadap maxTaskRetryCount. Bahkan jika maxTaskRetryCount adalah 0, coba lagi internal karena operasi pemulihan dapat terjadi. Karena itu, semua Tugas harus idempotoen. Ini berarti Tugas perlu mentolerir terganggu dan dimulai ulang tanpa menyebabkan kerusakan atau data duplikat. Praktik terbaik untuk Tugas yang berjalan lama adalah menggunakan beberapa bentuk titik pemeriksaan. Dalam beberapa kasus, StartTask mungkin dijalankan kembali meskipun Simpul Komputasi tidak di-boot ulang. Perawatan khusus harus dilakukan untuk menghindari StartTasks yang membuat proses breakaway atau menginstal/meluncurkan layanan dari direktori kerja StartTask, karena ini akan memblokir Batch agar tidak dapat menjalankan kembali StartTask.

Properti

commandLine

Baris perintah StartTask. Baris perintah tidak berjalan di bawah shell, dan oleh karena itu tidak dapat memanfaatkan fitur shell seperti ekspansi variabel lingkungan. Jika Anda ingin memanfaatkan fitur tersebut, Anda harus memanggil shell di baris perintah, misalnya menggunakan "cmd /c MyCommand" di Windows atau "/bin/sh -c MyCommand" di Linux. Jika baris perintah mengacu pada jalur file, baris tersebut harus menggunakan jalur relatif (relatif terhadap direktori kerja Tugas), atau menggunakan variabel lingkungan yang disediakan Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

containerSettings

Pengaturan untuk kontainer tempat StartTask berjalan. Ketika ini ditentukan, semua direktori secara rekursif di bawah AZ_BATCH_NODE_ROOT_DIR (akar direktori Azure Batch pada simpul) dipetakan ke dalam kontainer, semua variabel lingkungan Tugas dipetakan ke dalam kontainer, dan baris perintah Tugas dijalankan dalam kontainer. File yang diproduksi dalam kontainer di luar AZ_BATCH_NODE_ROOT_DIR mungkin tidak tercermin ke disk host, yang berarti bahwa API file Batch tidak akan dapat mengakses file tersebut.

environmentSettings

Daftar pengaturan variabel lingkungan untuk StartTask.

maxTaskRetryCount

Jumlah maksimum kali Tugas dapat dicoba kembali. Layanan Batch mencoba kembali Tugas jika kode keluarnya bukan nol. Perhatikan bahwa nilai ini secara khusus mengontrol jumlah percobaan ulang. Layanan Batch akan mencoba Tugas sekali, dan kemudian dapat mencoba kembali hingga batas ini. Misalnya, jika jumlah coba lagi maksimum adalah 3, Batch mencoba Tugas hingga 4 kali (satu percobaan awal dan 3 percobaan ulang). Jika jumlah percobaan kembali maksimum adalah 0, layanan Batch tidak mencoba kembali Tugas. Jika jumlah percobaan kembali maksimum adalah -1, layanan Batch mencoba kembali Tugas tanpa batas, namun ini tidak disarankan untuk tugas mulai atau tugas apa pun. Nilai defaultnya adalah 0 (tidak ada percobaan ulang).

resourceFiles

Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Ada ukuran maksimum untuk daftar file sumber daya. Ketika ukuran maksimum terlampaui, permintaan akan gagal dan kode kesalahan respons akan menjadi RequestEntityTooLarge. Jika ini terjadi, kumpulan ResourceFiles harus dikurangi ukurannya. Ini dapat dicapai menggunakan file .zip, Paket Aplikasi, atau Kontainer Docker. File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas.

userIdentity

Identitas pengguna tempat StartTask berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.

waitForSuccess

Apakah layanan Batch harus menunggu StartTask berhasil diselesaikan (yaitu, keluar dengan kode keluar 0) sebelum menjadwalkan Tugas apa pun pada Simpul Komputasi. Jika true dan StartTask gagal pada Node, layanan Batch mencoba kembali StartTask hingga jumlah coba lagi maksimumnya (maxTaskRetryCount). Jika Tugas masih belum berhasil diselesaikan setelah semua percobaan ulang, maka layanan Batch menandai Simpul tidak dapat digunakan, dan tidak akan menjadwalkan Tugas ke dalamnya. Kondisi ini dapat dideteksi melalui status Simpul Komputasi dan detail info kegagalan. Jika false, layanan Batch tidak akan menunggu StartTask selesai. Dalam hal ini, Tugas lain dapat mulai dijalankan pada Simpul Komputasi saat StartTask masih berjalan; dan bahkan jika StartTask gagal, Tugas baru akan terus dijadwalkan pada Simpul Komputasi. Defaultnya adalah true.

Detail Properti

commandLine

Baris perintah StartTask. Baris perintah tidak berjalan di bawah shell, dan oleh karena itu tidak dapat memanfaatkan fitur shell seperti ekspansi variabel lingkungan. Jika Anda ingin memanfaatkan fitur tersebut, Anda harus memanggil shell di baris perintah, misalnya menggunakan "cmd /c MyCommand" di Windows atau "/bin/sh -c MyCommand" di Linux. Jika baris perintah mengacu pada jalur file, baris tersebut harus menggunakan jalur relatif (relatif terhadap direktori kerja Tugas), atau menggunakan variabel lingkungan yang disediakan Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Nilai Properti

string

containerSettings

Pengaturan untuk kontainer tempat StartTask berjalan. Ketika ini ditentukan, semua direktori secara rekursif di bawah AZ_BATCH_NODE_ROOT_DIR (akar direktori Azure Batch pada simpul) dipetakan ke dalam kontainer, semua variabel lingkungan Tugas dipetakan ke dalam kontainer, dan baris perintah Tugas dijalankan dalam kontainer. File yang diproduksi dalam kontainer di luar AZ_BATCH_NODE_ROOT_DIR mungkin tidak tercermin ke disk host, yang berarti bahwa API file Batch tidak akan dapat mengakses file tersebut.

containerSettings?: BatchTaskContainerSettingsOutput

Nilai Properti

environmentSettings

Daftar pengaturan variabel lingkungan untuk StartTask.

environmentSettings?: EnvironmentSettingOutput[]

Nilai Properti

maxTaskRetryCount

Jumlah maksimum kali Tugas dapat dicoba kembali. Layanan Batch mencoba kembali Tugas jika kode keluarnya bukan nol. Perhatikan bahwa nilai ini secara khusus mengontrol jumlah percobaan ulang. Layanan Batch akan mencoba Tugas sekali, dan kemudian dapat mencoba kembali hingga batas ini. Misalnya, jika jumlah coba lagi maksimum adalah 3, Batch mencoba Tugas hingga 4 kali (satu percobaan awal dan 3 percobaan ulang). Jika jumlah percobaan kembali maksimum adalah 0, layanan Batch tidak mencoba kembali Tugas. Jika jumlah percobaan kembali maksimum adalah -1, layanan Batch mencoba kembali Tugas tanpa batas, namun ini tidak disarankan untuk tugas mulai atau tugas apa pun. Nilai defaultnya adalah 0 (tidak ada percobaan ulang).

maxTaskRetryCount?: number

Nilai Properti

number

resourceFiles

Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Ada ukuran maksimum untuk daftar file sumber daya. Ketika ukuran maksimum terlampaui, permintaan akan gagal dan kode kesalahan respons akan menjadi RequestEntityTooLarge. Jika ini terjadi, kumpulan ResourceFiles harus dikurangi ukurannya. Ini dapat dicapai menggunakan file .zip, Paket Aplikasi, atau Kontainer Docker. File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas.

resourceFiles?: ResourceFileOutput[]

Nilai Properti

userIdentity

Identitas pengguna tempat StartTask berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.

userIdentity?: UserIdentityOutput

Nilai Properti

waitForSuccess

Apakah layanan Batch harus menunggu StartTask berhasil diselesaikan (yaitu, keluar dengan kode keluar 0) sebelum menjadwalkan Tugas apa pun pada Simpul Komputasi. Jika true dan StartTask gagal pada Node, layanan Batch mencoba kembali StartTask hingga jumlah coba lagi maksimumnya (maxTaskRetryCount). Jika Tugas masih belum berhasil diselesaikan setelah semua percobaan ulang, maka layanan Batch menandai Simpul tidak dapat digunakan, dan tidak akan menjadwalkan Tugas ke dalamnya. Kondisi ini dapat dideteksi melalui status Simpul Komputasi dan detail info kegagalan. Jika false, layanan Batch tidak akan menunggu StartTask selesai. Dalam hal ini, Tugas lain dapat mulai dijalankan pada Simpul Komputasi saat StartTask masih berjalan; dan bahkan jika StartTask gagal, Tugas baru akan terus dijadwalkan pada Simpul Komputasi. Defaultnya adalah true.

waitForSuccess?: boolean

Nilai Properti

boolean