Dokumen ini menjelaskan cara membuat dan menjalankan tugas yang tidak dijadwalkan hingga tugas tertentu berhasil atau gagal. Untuk mempelajari status tugas lebih lanjut, lihat Ringkasan pembuatan dan eksekusi tugas.
Jika Anda memiliki beban kerja dengan persyaratan resource yang bervariasi, pertimbangkan untuk menggunakan tugas dependen untuk membuat rantai tugas otomatis yang masing-masing menggunakan VM terpisah. Misalnya, pisahkan jenis VM yang digunakan untuk operasi dengan permintaan rendah (seperti persiapan data) dan operasi yang membutuhkan komputasi intensif (seperti pemrosesan data). Dengan menggunakan tugas dependen untuk membantu mengoptimalkan konsumsi resource, Anda dapat mengurangi biaya dan penggunaan kuota.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang diperlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
-
Batch Job Editor (
roles/batch.jobsEditor
) di project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Batch Job Editor (
Pembatasan
Tugas dependen memiliki batasan berikut:
Tugas dependen dapat memiliki hingga empat dependensi. Setiap dependensi harus berisi nama tugas unik dan salah satu status yang diperlukan berikut:
SUCCEEDED
: berhasilFAILED
: gagalFINISHED
: berhasil atau gagal
Saat Anda membuat tugas dependen, semua tugas dependensinya harus ada.
Tugas dependen tidak dapat memasuki status terjadwal (
SCHEDULED
) hingga setiap tugas dependensi telah memasuki status yang diperlukan. Jika tugas dependensi tidak dapat memasuki status yang diperlukan, tugas dependensi akan langsung gagal tanpa dijadwalkan.
Membuat tugas dependen
Anda dapat membuat tugas yang bergantung menggunakan metode berikut:
- Untuk Google Cloud CLI, gunakan perintah
gcloud alpha batch jobs submit
. - Untuk Batch API, gunakan metode
jobs.create
v1alpha.
Untuk menentukan bahwa tugas bersifat dependen, sertakan
kolom dependencies[].items
,
yang mendukung satu atau beberapa dependensi yang ditentukan sebagai key-value pair, dalam
isi utama di file JSON:
"dependencies": [
{
"items": {
"DEPENDENCY_JOB_NAME": "REQUIRED_STATE"
}
}
]
Ganti kode berikut:
DEPENDENCY_JOB_NAME
: nama tugas dependensi, yang harus mencapai status yang diperlukan sebelum tugas dependen ini diizinkan untuk dijadwalkan.REQUIRED_STATE
: status yang diperlukan untuk tugas dependensi yang sesuai, yang harus berupaSUCCEEDED
,FAILED
, atauFINISHED
.
Misalnya, tugas dependen dengan tiga dependensi dapat memiliki file konfigurasi JSON yang mirip dengan berikut:
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello World! This is task $BATCH_TASK_INDEX."
}
}
]
},
"taskCount": 3
}
],
"dependencies": [
{
"items": {
"DEPENDENCY_JOB_NAME_1": "REQUIRED_STATE_1",
"DEPENDENCY_JOB_NAME_2": "REQUIRED_STATE_2",
"DEPENDENCY_JOB_NAME_3": "REQUIRED_STATE_3"
}
}
]
}
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Pelajari cara melihat tugas dan tugas.
- Pelajari lebih lanjut opsi pembuatan tugas.