StartTask Kelas
Tugas yang dijalankan saat Simpul bergabung dengan Kumpulan di layanan Azure Batch, atau saat Simpul Komputasi di-boot ulang atau digambut ulang.
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 idempotensi. 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.
Semua parameter yang diperlukan harus diisi untuk dikirim ke Azure.
- Warisan
-
StartTask
Konstruktor
StartTask(*, command_line: str, container_settings=None, resource_files=None, environment_settings=None, user_identity=None, max_task_retry_count: int = None, wait_for_success: bool = None, **kwargs)
Parameter
- command_line
- str
Wajib diisi. Baris perintah tidak berjalan di bawah shell, dan 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://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
- container_settings
- TaskContainerSettings
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-file tersebut.
- resource_files
- list[ResourceFile]
File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas.
- environment_settings
- list[EnvironmentSetting]
- user_identity
- UserIdentity
Identitas pengguna tempat StartTask berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.
- max_task_retry_count
- int
Berapa kali maksimum Tugas dapat dicoba kembali. Layanan Batch mencoba kembali Tugas jika kode keluarnya bukan nol. Perhatikan bahwa nilai ini secara khusus mengontrol jumlah percobaan kembali. Layanan Batch akan mencoba Tugas sekali, dan kemudian dapat mencoba kembali hingga batas ini. Misalnya, jika jumlah percobaan kembali 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 kembali).
- wait_for_success
- bool
Apakah layanan Batch harus menunggu StartTask berhasil diselesaikan (yaitu, untuk 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 yang 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. Secara default adalah benar.
Metode
as_dict |
Mengembalikan dict yang dapat berupa JSONify menggunakan json.dump. Penggunaan tingkat lanjut mungkin secara opsional menggunakan panggilan balik sebagai parameter: Kunci adalah nama atribut yang digunakan dalam Python. Attr_desc adalah dict metadata. Saat ini berisi 'type' dengan jenis msrest dan 'key' dengan kunci yang dikodekan RestAPI. Nilai adalah nilai saat ini dalam objek ini. String yang dikembalikan akan digunakan untuk menserialisasikan kunci. Jika jenis pengembalian adalah daftar, ini dianggap sebagai dict hasil hierarkis. Lihat tiga contoh dalam file ini:
Jika Anda menginginkan serialisasi XML, Anda dapat meneruskan kwargs is_xml=True. |
deserialize |
Uraikan str menggunakan sintaks RestAPI dan kembalikan model. |
enable_additional_properties_sending | |
from_dict |
Mengurai dict menggunakan ekstraktor kunci yang diberikan mengembalikan model. Secara default, pertimbangkan ekstraktor kunci (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, dan last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Mengembalikan JSON yang akan dikirim ke azure dari model ini. Ini adalah alias untuk as_dict(full_restapi_key_transformer, keep_readonly=False). Jika Anda menginginkan serialisasi XML, Anda dapat meneruskan kwargs is_xml=True. |
validate |
Validasi model ini secara rekursif dan kembalikan daftar ValidationError. |
as_dict
Mengembalikan dict yang dapat berupa JSONify menggunakan json.dump.
Penggunaan tingkat lanjut mungkin secara opsional menggunakan panggilan balik sebagai parameter:
Kunci adalah nama atribut yang digunakan dalam Python. Attr_desc adalah dict metadata. Saat ini berisi 'type' dengan jenis msrest dan 'key' dengan kunci yang dikodekan RestAPI. Nilai adalah nilai saat ini dalam objek ini.
String yang dikembalikan akan digunakan untuk menserialisasikan kunci. Jika jenis pengembalian adalah daftar, ini dianggap sebagai dict hasil hierarkis.
Lihat tiga contoh dalam file ini:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Jika Anda menginginkan serialisasi XML, Anda dapat meneruskan kwargs is_xml=True.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parameter
- key_transformer
- <xref:function>
Fungsi transformator kunci.
- keep_readonly
Mengembalikan
Objek yang kompatibel dengan JSON dict
Tipe hasil
deserialize
Uraikan str menggunakan sintaks RestAPI dan kembalikan model.
deserialize(data, content_type=None)
Parameter
Mengembalikan
Contoh model ini
Pengecualian
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Mengurai dict menggunakan ekstraktor kunci yang diberikan mengembalikan model.
Secara default, pertimbangkan ekstraktor kunci (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, dan last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parameter
- key_extractors
Mengembalikan
Contoh model ini
Pengecualian
is_xml_model
is_xml_model()
serialize
Mengembalikan JSON yang akan dikirim ke azure dari model ini.
Ini adalah alias untuk as_dict(full_restapi_key_transformer, keep_readonly=False).
Jika Anda menginginkan serialisasi XML, Anda dapat meneruskan kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parameter
Mengembalikan
Objek yang kompatibel dengan JSON dict
Tipe hasil
validate
Validasi model ini secara rekursif dan kembalikan daftar ValidationError.
validate()
Mengembalikan
Daftar kesalahan validasi
Tipe hasil
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk