Bagikan melalui


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
Diperlukan

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
Diperlukan

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]
Diperlukan

File yang tercantum di bawah elemen ini terletak di direktori kerja Tugas.

environment_settings
list[EnvironmentSetting]
Diperlukan
user_identity
UserIdentity
Diperlukan

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

max_task_retry_count
int
Diperlukan

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
Diperlukan

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:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

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
nilai default: True

Mengembalikan

Objek yang kompatibel dengan JSON dict

Tipe hasil

deserialize

Uraikan str menggunakan sintaks RestAPI dan kembalikan model.

deserialize(data, content_type=None)

Parameter

data
str
Diperlukan

str menggunakan struktur RestAPI. JSON secara default.

content_type
str
nilai default: None

JSON secara default, atur aplikasi/xml jika XML.

Mengembalikan

Contoh model ini

Pengecualian

DeserializationError if something went wrong

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

data
dict
Diperlukan

Dict menggunakan struktur RestAPI

content_type
str
nilai default: None

JSON secara default, atur aplikasi/xml jika XML.

key_extractors
nilai default: None

Mengembalikan

Contoh model ini

Pengecualian

DeserializationError if something went wrong

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

keep_readonly
bool
nilai default: False

Jika Anda ingin menserialisasikan atribut readonly

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