

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

# Pekerjaan dan status eksekusi pekerjaan
<a name="iot-jobs-lifecycle"></a>

Bagian berikut menjelaskan siklus hidup AWS IoT pekerjaan dan siklus hidup pelaksanaan pekerjaan.

## Status pekerjaan
<a name="iot-jobs-states"></a>

Diagram berikut menunjukkan keadaan yang berbeda dari suatu AWS IoT pekerjaan.

![Gambar yang menunjukkan berbagai status AWS IoT pekerjaan.](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/job-states-diagram.png)


Pekerjaan yang Anda buat menggunakan AWS IoT Jobs dapat berada di salah satu status berikut:
+ 

**DIJADWALKAN**  
Selama pembuatan templat pekerjaan atau pekerjaan awal menggunakan AWS IoT konsol, [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API, atau [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API, Anda dapat memilih konfigurasi penjadwalan opsional di AWS IoT konsol atau `SchedulingConfig` di [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API atau [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API. Saat Anda memulai pekerjaan terjadwal yang berisi status pekerjaan tertentu `startTime` `endTime``endBehavior`, dan, pembaruan status pekerjaan`SCHEDULED`. Ketika pekerjaan mencapai yang Anda pilih `startTime` atau jendela pemeliharaan berikutnya (jika Anda memilih peluncuran pekerjaan selama jendela pemeliharaan), status akan diperbarui dari `SCHEDULED` ke `IN_PROGRESS` dan mulai peluncuran dokumen pekerjaan ke semua perangkat dalam grup target. `startTime`
+ 

**IN\_PROGRESS**  
Saat Anda membuat pekerjaan menggunakan AWS IoT konsol atau [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API, status pekerjaan akan diperbarui ke`IN_PROGRESS`. Selama penciptaan lapangan kerja, AWS IoT Jobs mulai meluncurkan eksekusi pekerjaan ke perangkat di grup target Anda. Setelah semua eksekusi pekerjaan diluncurkan, AWS IoT Jobs menunggu perangkat untuk menyelesaikan tindakan jarak jauh. 

  Untuk informasi tentang konkurensi dan batasan yang berlaku untuk pekerjaan yang sedang berlangsung, lihat. [AWS IoT Batas pekerjaan](job-limits.md)
**catatan**  
Ketika `IN_PROGRESS` pekerjaan mencapai akhir jendela pemeliharaan saat ini, peluncuran dokumen pekerjaan akan berhenti. Pekerjaan akan diperbarui `SCHEDULED` hingga jendela `startTime` pemeliharaan berikutnya.
+ 

**DISELESAIKAN**  
Pekerjaan berkelanjutan ditangani dengan salah satu cara berikut:
  + Untuk pekerjaan berkelanjutan *tanpa* konfigurasi penjadwalan opsional yang dipilih, selalu dalam proses dan terus berjalan untuk setiap perangkat baru yang ditambahkan ke grup target. Itu tidak akan pernah mencapai status status`COMPLETED`.
  + Untuk pekerjaan berkelanjutan *dengan* konfigurasi penjadwalan opsional yang dipilih, berikut ini benar:
    + Jika `endTime` *diberikan*, pekerjaan berkelanjutan akan mencapai `COMPLETED` status ketika `endTime` telah berlalu dan semua eksekusi pekerjaan telah mencapai status status terminal.
    + Jika *tidak* disediakan dalam konfigurasi penjadwalan opsional, pekerjaan berkelanjutan akan terus melakukan peluncuran dokumen pekerjaan. `endTime`

Untuk pekerjaan snapshot, status pekerjaan berubah menjadi `COMPLETED` saat semua eksekusi pekerjaannya memasuki status terminal, seperti,,`SUCCEEDED`, `FAILED` `TIMED_OUT``REMOVED`, atau. `CANCELED`
+ 

**MEMBATALKAN**  
Saat Anda membatalkan pekerjaan menggunakan AWS IoT konsol, [CancelJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CancelJob.html)API, atau[Konfigurasi pembatalan pekerjaan](jobs-configurations-details.md#job-abort-using), status pekerjaan akan berubah menjadi`CANCELED`. Selama pembatalan pekerjaan, AWS IoT Jobs mulai membatalkan eksekusi pekerjaan yang dibuat sebelumnya.

  Untuk informasi tentang konkurensi dan batasan yang berlaku untuk pekerjaan yang dibatalkan, lihat. [AWS IoT Batas pekerjaan](job-limits.md)
+ 

**DELETION\_IN\_PROGRESS**  
Saat Anda menghapus pekerjaan menggunakan AWS IoT konsol atau [DeleteJob](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteJob.html)API, status pekerjaan akan berubah menjadi`DELETION_IN_PROGRESS`. Selama penghapusan pekerjaan, AWS IoT Jobs mulai menghapus eksekusi pekerjaan yang dibuat sebelumnya. Setelah semua eksekusi pekerjaan telah dihapus, pekerjaan menghilang dari AWS akun Anda.

## Status eksekusi Job
<a name="iot-job-execution-states"></a>

Tabel berikut menunjukkan status yang berbeda dari eksekusi AWS IoT pekerjaan dan apakah perubahan status diprakarsai oleh perangkat atau oleh AWS IoT Jobs.


**Status dan sumber eksekusi Job**  

| Status eksekusi Job | Dimulai oleh perangkat? | Diprakarsai oleh AWS IoT Jobs? | Status terminal? | Bisa dicoba lagi? | 
| --- | --- | --- | --- | --- | 
| QUEUED | Tidak | Ya | Tidak | Tidak berlaku | 
| IN\_PROGRESS | Ya | Tidak | Tidak | Tidak berlaku | 
| SUCCEEDED | Ya | Tidak | Ya | Tidak berlaku | 
| FAILED | Ya | Tidak | Ya | Ya | 
| TIMED\_OUT | Tidak | Ya | Ya | Ya | 
| REJECTED | Ya | Tidak | Ya | Tidak | 
| REMOVED | Tidak | Ya | Ya | Tidak | 
| CANCELED | Tidak | Ya | Ya | Tidak | 

Bagian berikut menjelaskan lebih lanjut tentang status eksekusi pekerjaan yang diluncurkan saat Anda membuat pekerjaan dengan AWS IoT Jobs.
+ 

**DIANTREKAN**  
Saat AWS IoT Jobs meluncurkan eksekusi pekerjaan untuk perangkat target, status eksekusi pekerjaan disetel ke`QUEUED`. Eksekusi pekerjaan tetap di `QUEUED` negara bagian sampai:
  + Perangkat Anda menerima eksekusi pekerjaan dan memanggil operasi API Pekerjaan dan melaporkan statusnya sebagai`IN_PROGRESS`.
  + Anda membatalkan pelaksanaan pekerjaan atau pekerjaan, atau ketika kriteria pembatalan yang Anda tentukan terpenuhi, dan statusnya berubah menjadi`CANCELED`.
  + Perangkat Anda dihapus dari grup target dan statusnya berubah menjadi`REMOVED`.  
![Gambar yang menunjukkan bagaimana eksekusi pekerjaan yang diantrian mengubah status menjadi IN_PROGRESS dan bagaimana pekerjaan bisa ditolak jika perangkat tidak menerima permintaan pembuatan pekerjaan.](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/JE-queued-inprogress.png)
+ 

**IN\_PROGRESS**  
Jika perangkat IoT Anda berlangganan ke reservasi [Topik Job](reserved-topics.md#reserved-topics-job) `$notify` dan`$notify-next`, dan perangkat Anda memanggil `StartNextPendingJobExecution` API atau `UpdateJobExecution` API dengan status`IN_PROGRESS`, AWS IoT Jobs akan menyetel status eksekusi pekerjaan. `IN_PROGRESS`

  `UpdateJobExecution`API dapat dipanggil beberapa kali dengan status. `IN_PROGRESS` Anda dapat menentukan detail tambahan tentang langkah-langkah eksekusi menggunakan `statusDetails` objek.
**catatan**  
Jika Anda membuat beberapa pekerjaan untuk setiap perangkat, AWS IoT Jobs dan protokol MQTT tidak menjamin pesanan pengiriman.
+ 

**SUCCEEDED**  
Ketika perangkat Anda berhasil menyelesaikan operasi jarak jauh, perangkat harus menjalankan `UpdateJobExecution` API dengan status `SUCCEEDED` untuk menunjukkan bahwa eksekusi pekerjaan berhasil. AWS IoT Jobs kemudian memperbarui dan mengembalikan status eksekusi pekerjaan sebagai`SUCCEEDED`.   
![Gambar yang menunjukkan bagaimana eksekusi pekerjaan yang sedang berlangsung dapat gagal dan bagaimana mencoba kembali eksekusi.](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/JE-success-path.png)
+ 

**FAILED**  
Ketika perangkat Anda gagal menyelesaikan operasi jarak jauh, perangkat harus menjalankan `UpdateJobExecution` API dengan status `Failed` untuk menunjukkan bahwa eksekusi pekerjaan gagal. AWS IoT Jobs kemudian memperbarui dan mengembalikan status eksekusi pekerjaan sebagai`Failed`. Anda dapat mencoba lagi eksekusi pekerjaan ini untuk perangkat menggunakan file. [Konfigurasi percobaan ulang pelaksanaan tugas](jobs-configurations-details.md#job-retry-configuration)  
![Gambar yang menunjukkan bagaimana eksekusi pekerjaan yang sedang berlangsung dapat gagal dan bagaimana mencoba kembali eksekusi.](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/JE-inprogress-failed.png)
+ 

**TIMED\_OUT**  
Saat perangkat Anda gagal menyelesaikan langkah pekerjaan saat statusnya`IN_PROGRESS`, atau saat gagal menyelesaikan operasi jarak jauh dalam durasi waktu tunggu pengatur waktu yang sedang berlangsung, AWS IoT Jobs akan menetapkan status eksekusi pekerjaan menjadi. `TIMED_OUT` Anda juga memiliki pengatur waktu langkah untuk setiap langkah pekerjaan dari pekerjaan yang sedang berlangsung dan hanya berlaku untuk pelaksanaan pekerjaan. Durasi pengatur waktu yang sedang berlangsung ditentukan menggunakan `inProgressTimeoutInMinutes` properti. [Konfigurasi batas waktu pelaksanaan tugas](jobs-configurations-details.md#job-timeout-configuration) Anda dapat mencoba lagi eksekusi pekerjaan ini untuk perangkat menggunakan file. [Konfigurasi percobaan ulang pelaksanaan tugas](jobs-configurations-details.md#job-retry-configuration)  
![Gambar yang menunjukkan bagaimana eksekusi pekerjaan yang sedang berlangsung dapat habis waktu dan cara mencoba kembali eksekusi.](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/JE-inprogress-timedout.png)
+ 

**MENOLAK**  
Ketika perangkat Anda menerima permintaan yang tidak valid atau tidak kompatibel, perangkat harus menjalankan `UpdateJobExecution` API dengan status. `REJECTED` AWS IoT Jobs kemudian memperbarui dan mengembalikan status eksekusi pekerjaan sebagai`REJECTED`.
+ 

**DIKELUARKAN**  
Jika perangkat Anda tidak lagi menjadi target yang valid untuk eksekusi pekerjaan, seperti saat perangkat terlepas dari grup hal dinamis, AWS IoT Jobs akan menetapkan status eksekusi pekerjaan. `REMOVED` Anda dapat melampirkan kembali benda itu ke grup target Anda dan memulai ulang eksekusi pekerjaan untuk perangkat.
+ 

**MEMBATALKAN**  
Saat Anda membatalkan pekerjaan atau membatalkan eksekusi pekerjaan menggunakan konsol atau `CancelJobExecution` API, `CancelJob` atau saat kriteria pembatalan yang ditentukan menggunakan tugas [Konfigurasi pembatalan pekerjaan](jobs-configurations-details.md#job-abort-using) terpenuhi, AWS IoT Pekerjaan akan membatalkan pekerjaan tersebut dan menetapkan status eksekusi pekerjaan. `CANCELED`