

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tugas array
<a name="array_jobs"></a>

Tugas array adalah tugas yang berbagi parameter umum, seperti ketentuan tugas, vCPUs, dan memori. Ini berjalan sebagai kumpulan pekerjaan dasar terkait namun terpisah yang mungkin didistribusikan di beberapa host dan mungkin berjalan secara bersamaan. Tugas array adalah cara yang paling efisien untuk menjalankan tugas yang sangat paralel, seperti simulasi Monte Carlo, sapuan parametrik, atau tugas render yang besar.

AWS Batch pekerjaan array dikirimkan seperti pekerjaan biasa. Namun, Anda menentukan ukuran array (antara 2 dan 10.000) untuk menentukan berapa banyak tugas turunan yang harus berjalan dalam array. Jika Anda mengirim tugas dengan ukuran array sebesar 1.000, satu tugas akan berjalan dan menghasilkan 1.000 tugas turunan. Tugas array adalah referensi atau penunjuk untuk mengelola semua tugas turunan. Dengan cara ini, Anda dapat mengirimkan beban kerja besar dengan satu kueri. Batas waktu yang ditentukan dalam `attemptDurationSeconds` parameter berlaku untuk setiap pekerjaan anak. Pekerjaan array induk tidak memiliki batas waktu.

Saat Anda mengirimkan pekerjaan array, pekerjaan array induk mendapatkan ID AWS Batch pekerjaan normal. Setiap pekerjaan anak memiliki ID dasar yang sama. Namun, indeks array untuk pekerjaan turunan ditambahkan ke akhir ID induk, seperti `{{example_job_ID}}:0` untuk tugas anak pertama dari array. 

Tugas array induk dapat memasukkan`SUBMITTED`,`PENDING`,`FAILED`, atau `SUCCEEDED` status. Tugas induk array diperbarui `PENDING` saat tugas anak diperbarui ke`RUNNABLE`. Untuk informasi selengkapnya tentang dependensi pekerjaan, lihat[Ketergantungan pekerjaan](job_dependencies.md).

Pada saat waktu aktif, variabel lingkungan `AWS_BATCH_JOB_ARRAY_INDEX` ditetapkan ke nomor indeks tugas array yang sesuai dengan kontainer. Indeks pekerjaan array pertama diberi nomor`0`, dan indeks pekerjaan anak berikutnya dalam urutan menaik (misalnya, 1, 2, dan 3). Anda dapat menggunakan nilai indeks ini untuk mengontrol cara turunan tugas array Anda dibedakan. Untuk informasi selengkapnya, lihat [Gunakan indeks pekerjaan array untuk mengontrol diferensiasi pekerjaan](array_index_example.md).

Untuk dependensi tugas array, Anda dapat menentukan tipe untuk dependensi, misalnya `SEQUENTIAL` atau `N_TO_N`. Anda dapat menentukan tipe dependensi `SEQUENTIAL` (tanpa menentukan ID tugas) sehingga setiap tugas array turunan selesai secara berurutan, mulai dari indeks 0. Misalnya, jika Anda mengirimkan tugas array dengan ukuran array 100, dan menentukan dependensi dengan tipe `SEQUENTIAL`, 100 tugas turunan akan dihasilkan secara berurutan, dan tugas turunan pertama harus berhasil sebelum tugas turunan berikutnya dimulai. Gambar di bawah ini menunjukkan Tugas A, sebuah tugas array dengan ukuran array 10. Setiap tugas dalam indeks turunan Tugas A bergantung pada tugas turunan sebelumnya. Pekerjaan tidak A:1 dapat dimulai sampai pekerjaan A:0 selesai.

![Ketergantungan pekerjaan array berurutan di mana setiap pekerjaan anak dari A:0 sampai A:9 berjalan secara berurutan.](https://docs.aws.amazon.com/id_id/batch/latest/userguide/images/sequential-dep.png)


Anda juga dapat menentukan ketergantungan `N_TO_N` tipe dengan ID pekerjaan untuk pekerjaan array. Dengan cara itu, setiap turunan indeks dari tugas ini harus menunggu turunan indeks dari setiap dependensi selesai sebelum turunan tersebut dapat dimulai. Gambar berikut menunjukkan Job A dan Job B, dua pekerjaan array dengan ukuran array masing-masing 10.000. Setiap pekerjaan dalam indeks anak Job B bergantung pada indeks yang sesuai di Pekerjaan A. Pekerjaan tidak B:1 dapat dimulai sampai pekerjaan A:1 selesai. 

![](https://docs.aws.amazon.com/id_id/batch/latest/userguide/images/n-to-n-dep.png)


Jika Anda membatalkan atau menghentikan pekerjaan array induk, semua pekerjaan turunan dibatalkan atau dihentikan dengannya. Anda dapat membatalkan atau menghentikan pekerjaan anak individu (yang memindahkannya ke `FAILED` status) tanpa mempengaruhi pekerjaan anak lainnya. Namun, jika tugas array turunan gagal (dengan sendirinya, atau dengan membatalkan atau mengakhiri pekerjaan secara manual), pekerjaan induk juga gagal. Dalam skenario ini, pekerjaan induk beralih ke `FAILED` saat semua pekerjaan anak selesai.

Untuk informasi selengkapnya tentang mencari dan memfilter pekerjaan array, lihat[Menelusuri untuk menemukan tugas dalam antrean tugas](searching-filtering-jobs.md).

**Topics**
+ [Contoh alur kerja array](example_array_job.md)
+ [Gunakan indeks pekerjaan array untuk mengontrol diferensiasi pekerjaan](array_index_example.md)