BatchJobManagerTaskOutput interface
Menentukan detail Tugas Manajer Pekerjaan. Tugas Manajer Pekerjaan dimulai secara otomatis saat Pekerjaan dibuat. Layanan Batch mencoba menjadwalkan Tugas Manajer Pekerjaan sebelum Tugas lain dalam Pekerjaan. Saat menyusutkan Kumpulan, layanan Batch mencoba mempertahankan Simpul tempat Tugas Manajer Pekerjaan berjalan selama mungkin (yaitu, Simpul Komputasi yang menjalankan Tugas 'normal' dihapus sebelum Simpul Komputasi yang menjalankan Tugas Manajer Pekerjaan). Ketika Tugas Manajer Pekerjaan gagal dan perlu dimulai ulang, sistem mencoba menjadwalkannya pada prioritas tertinggi. Jika tidak ada Simpul Komputasi menganggur yang tersedia, sistem dapat mengakhiri salah satu Tugas yang sedang berjalan di Kumpulan dan mengembalikannya ke antrean untuk memberi ruang bagi Tugas Manajer Pekerjaan untuk memulai ulang. Perhatikan bahwa Tugas Manajer Pekerjaan dalam satu Pekerjaan tidak memiliki prioritas atas Tugas di Pekerjaan lain. Di seluruh Pekerjaan, hanya prioritas tingkat pekerjaan yang diamati. Misalnya, jika Manajer Pekerjaan dalam prioritas 0 Pekerjaan perlu dimulai ulang, tugas tersebut tidak akan mengalihkan Tugas prioritas 1 Pekerjaan. 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.
Properti
| allow |
Apakah Tugas Manajer Pekerjaan dapat berjalan pada Simpul Komputasi Spot/Berprioritas rendah. Nilai defaultnya adalah true. |
| application |
Daftar Paket Aplikasi yang akan disebarkan layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Paket Aplikasi diunduh dan disebarkan ke direktori bersama, bukan direktori kerja Tugas. Oleh karena itu, jika Paket Aplikasi yang direferensikan sudah ada di Simpul Komputasi, dan sudah diperbarui, maka paket tersebut tidak diunduh ulang; salinan yang ada pada Simpul Komputasi digunakan. Jika Paket Aplikasi yang direferensikan tidak dapat diinstal, misalnya karena paket telah dihapus atau karena pengunduhan gagal, Tugas gagal. |
| authentication |
Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch. Jika properti ini diatur, layanan Batch menyediakan Tugas dengan token autentikasi yang dapat digunakan untuk mengautentikasi operasi layanan Batch tanpa memerlukan kunci akses Akun. Token disediakan melalui variabel lingkungan AZ_BATCH_AUTHENTICATION_TOKEN. Operasi yang dapat dilakukan Tugas menggunakan token bergantung pada pengaturan. Misalnya, Tugas dapat meminta izin Pekerjaan untuk menambahkan Tugas lain ke Pekerjaan, atau memeriksa status Pekerjaan atau Tugas lain di bawah Pekerjaan. |
| command |
Baris perintah Tugas Manajer Pekerjaan. 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). |
| constraints | Batasan yang berlaku untuk Tugas Manajer Pekerjaan. |
| container |
Pengaturan untuk kontainer tempat Tugas Manajer Pekerjaan berjalan. Jika Kumpulan yang akan menjalankan Tugas ini memiliki kumpulan containerConfiguration, ini juga harus diatur. Jika Kumpulan yang akan menjalankan Tugas ini tidak memiliki kumpulan containerConfiguration, ini tidak boleh diatur. 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. |
| display |
Nama tampilan Tugas Manajer Pekerjaan. Ini tidak perlu unik dan dapat berisi karakter Unicode hingga panjang maksimum 1024. |
| environment |
Daftar pengaturan variabel lingkungan untuk Tugas Manajer Pekerjaan. |
| id | String yang secara unik mengidentifikasi Tugas Manajer Pekerjaan dalam Pekerjaan. ID dapat berisi kombinasi karakter alfanumerik termasuk tanda hubung dan garis bawah dan tidak boleh berisi lebih dari 64 karakter. |
| kill |
Apakah penyelesaian Tugas Manajer Pekerjaan menandakan penyelesaian seluruh Pekerjaan. Jika true, ketika Tugas Manajer Pekerjaan selesai, layanan Batch menandai Pekerjaan sebagai selesai. Jika ada Tugas yang masih berjalan saat ini (selain Rilis Pekerjaan), Tugas tersebut dihentikan. Jika false, penyelesaian Tugas Manajer Pekerjaan tidak memengaruhi status Pekerjaan. Dalam hal ini, Anda harus menggunakan atribut onAllTasksComplete untuk mengakhiri Pekerjaan, atau meminta klien atau pengguna mengakhiri Pekerjaan secara eksplisit. Contohnya adalah jika Manajer Pekerjaan membuat sekumpulan Tugas tetapi kemudian tidak mengambil peran lebih lanjut dalam eksekusinya. Nilai defaultnya adalah true. Jika Anda menggunakan atribut onAllTasksComplete dan onTaskFailure untuk mengontrol masa pakai Pekerjaan, dan menggunakan Tugas Manajer Pekerjaan hanya untuk membuat Tugas untuk Pekerjaan (tidak memantau kemajuan), maka penting untuk mengatur killJobOnCompletion ke false. |
| output |
Daftar file yang akan diunggah layanan Batch dari Simpul Komputasi setelah menjalankan baris perintah. Untuk Tugas multi-instans, file hanya akan diunggah dari Simpul Komputasi tempat Tugas utama dijalankan. |
| required |
Jumlah slot penjadwalan yang perlu dijalankan Tugas. Defaultnya adalah 1. Tugas hanya dapat dijadwalkan untuk dijalankan pada simpul komputasi jika simpul memiliki slot penjadwalan gratis yang cukup tersedia. Untuk Tugas multi-instans, properti ini tidak didukung dan tidak boleh ditentukan. |
| resource |
Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas. 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. |
| run |
Apakah Tugas Manajer Pekerjaan memerlukan penggunaan eksklusif Simpul Komputasi tempatnya berjalan. Jika true, tidak ada Tugas lain yang akan berjalan pada Simpul yang sama selama Manajer Pekerjaan berjalan. Jika false, Tugas lain dapat berjalan bersamaan dengan Manajer Pekerjaan pada Simpul Komputasi. Tugas Manajer Pekerjaan dihitung secara normal terhadap batas Tugas bersamaan Simpul Komputasi, jadi ini hanya relevan jika Simpul Komputasi memungkinkan beberapa Tugas bersamaan. Nilai defaultnya adalah true. |
| user |
Identitas pengguna tempat Tugas Manajer Pekerjaan berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas. |
Detail Properti
allowLowPriorityNode
Apakah Tugas Manajer Pekerjaan dapat berjalan pada Simpul Komputasi Spot/Berprioritas rendah. Nilai defaultnya adalah true.
allowLowPriorityNode?: boolean
Nilai Properti
boolean
applicationPackageReferences
Daftar Paket Aplikasi yang akan disebarkan layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Paket Aplikasi diunduh dan disebarkan ke direktori bersama, bukan direktori kerja Tugas. Oleh karena itu, jika Paket Aplikasi yang direferensikan sudah ada di Simpul Komputasi, dan sudah diperbarui, maka paket tersebut tidak diunduh ulang; salinan yang ada pada Simpul Komputasi digunakan. Jika Paket Aplikasi yang direferensikan tidak dapat diinstal, misalnya karena paket telah dihapus atau karena pengunduhan gagal, Tugas gagal.
applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]
Nilai Properti
authenticationTokenSettings
Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch. Jika properti ini diatur, layanan Batch menyediakan Tugas dengan token autentikasi yang dapat digunakan untuk mengautentikasi operasi layanan Batch tanpa memerlukan kunci akses Akun. Token disediakan melalui variabel lingkungan AZ_BATCH_AUTHENTICATION_TOKEN. Operasi yang dapat dilakukan Tugas menggunakan token bergantung pada pengaturan. Misalnya, Tugas dapat meminta izin Pekerjaan untuk menambahkan Tugas lain ke Pekerjaan, atau memeriksa status Pekerjaan atau Tugas lain di bawah Pekerjaan.
authenticationTokenSettings?: AuthenticationTokenSettingsOutput
Nilai Properti
commandLine
Baris perintah Tugas Manajer Pekerjaan. 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
constraints
Batasan yang berlaku untuk Tugas Manajer Pekerjaan.
constraints?: BatchTaskConstraintsOutput
Nilai Properti
containerSettings
Pengaturan untuk kontainer tempat Tugas Manajer Pekerjaan berjalan. Jika Kumpulan yang akan menjalankan Tugas ini memiliki kumpulan containerConfiguration, ini juga harus diatur. Jika Kumpulan yang akan menjalankan Tugas ini tidak memiliki kumpulan containerConfiguration, ini tidak boleh diatur. 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
displayName
Nama tampilan Tugas Manajer Pekerjaan. Ini tidak perlu unik dan dapat berisi karakter Unicode hingga panjang maksimum 1024.
displayName?: string
Nilai Properti
string
environmentSettings
Daftar pengaturan variabel lingkungan untuk Tugas Manajer Pekerjaan.
environmentSettings?: EnvironmentSettingOutput[]
Nilai Properti
id
String yang secara unik mengidentifikasi Tugas Manajer Pekerjaan dalam Pekerjaan. ID dapat berisi kombinasi karakter alfanumerik termasuk tanda hubung dan garis bawah dan tidak boleh berisi lebih dari 64 karakter.
id: string
Nilai Properti
string
killJobOnCompletion
Apakah penyelesaian Tugas Manajer Pekerjaan menandakan penyelesaian seluruh Pekerjaan. Jika true, ketika Tugas Manajer Pekerjaan selesai, layanan Batch menandai Pekerjaan sebagai selesai. Jika ada Tugas yang masih berjalan saat ini (selain Rilis Pekerjaan), Tugas tersebut dihentikan. Jika false, penyelesaian Tugas Manajer Pekerjaan tidak memengaruhi status Pekerjaan. Dalam hal ini, Anda harus menggunakan atribut onAllTasksComplete untuk mengakhiri Pekerjaan, atau meminta klien atau pengguna mengakhiri Pekerjaan secara eksplisit. Contohnya adalah jika Manajer Pekerjaan membuat sekumpulan Tugas tetapi kemudian tidak mengambil peran lebih lanjut dalam eksekusinya. Nilai defaultnya adalah true. Jika Anda menggunakan atribut onAllTasksComplete dan onTaskFailure untuk mengontrol masa pakai Pekerjaan, dan menggunakan Tugas Manajer Pekerjaan hanya untuk membuat Tugas untuk Pekerjaan (tidak memantau kemajuan), maka penting untuk mengatur killJobOnCompletion ke false.
killJobOnCompletion?: boolean
Nilai Properti
boolean
outputFiles
Daftar file yang akan diunggah layanan Batch dari Simpul Komputasi setelah menjalankan baris perintah. Untuk Tugas multi-instans, file hanya akan diunggah dari Simpul Komputasi tempat Tugas utama dijalankan.
outputFiles?: OutputFileOutput[]
Nilai Properti
requiredSlots
Jumlah slot penjadwalan yang perlu dijalankan Tugas. Defaultnya adalah 1. Tugas hanya dapat dijadwalkan untuk dijalankan pada simpul komputasi jika simpul memiliki slot penjadwalan gratis yang cukup tersedia. Untuk Tugas multi-instans, properti ini tidak didukung dan tidak boleh ditentukan.
requiredSlots?: number
Nilai Properti
number
resourceFiles
Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas. 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.
resourceFiles?: ResourceFileOutput[]
Nilai Properti
runExclusive
Apakah Tugas Manajer Pekerjaan memerlukan penggunaan eksklusif Simpul Komputasi tempatnya berjalan. Jika true, tidak ada Tugas lain yang akan berjalan pada Simpul yang sama selama Manajer Pekerjaan berjalan. Jika false, Tugas lain dapat berjalan bersamaan dengan Manajer Pekerjaan pada Simpul Komputasi. Tugas Manajer Pekerjaan dihitung secara normal terhadap batas Tugas bersamaan Simpul Komputasi, jadi ini hanya relevan jika Simpul Komputasi memungkinkan beberapa Tugas bersamaan. Nilai defaultnya adalah true.
runExclusive?: boolean
Nilai Properti
boolean
userIdentity
Identitas pengguna tempat Tugas Manajer Pekerjaan berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.
userIdentity?: UserIdentityOutput