Pekerjaan melalui serangkaian perubahan State
selama
masa kerjanya.
Status pekerjaan satu kali
Untuk permintaan pekerjaan
one-time
,
pekerjaan Anda dimulai dengan status
ENQUEUED
.
Pada status ENQUEUED
, pekerjaan Anda memenuhi syarat untuk dijalankan segera setelah
Constraints
dan persyaratan waktu
penundaan awal terpenuhi. Dari sana, status beralih ke
RUNNING
, lalu
bergantung pada hasilnya, pekerjaan dapat beralih ke
SUCCEEDED
,
FAILED
, atau mungkin kembali ke
ENQUEUED
jika hasilnya
retry
. Pada
tahap mana pun dalam proses ini, pekerjaan dapat dibatalkan. Pada titik ini, pekerjaan akan beralih ke status
CANCELLED
.
Gambar 1 menggambarkan proses kerja satu kali, dengan peristiwa yang dapat membawanya ke status lain.
Gambar 1. Diagram status untuk pekerjaan satu kali.
SUCCEEDED
, FAILED
, dan CANCELLED
semuanya mewakili status terminal untuk pekerjaan
ini. Jika pekerjaan Anda berada dalam salah satu status ini,
WorkInfo.State.isFinished()
akan menampilkan nilai benar (true).
Status pekerjaan berkala
Status berhasil dan gagal hanya berlaku untuk pekerjaan satu kali dan
berantai.
Untuk pekerjaan berkala,
hanya ada satu status terminal, CANCELLED
. Hal ini terjadi karena pekerjaan berkala
tidak pernah berakhir. Setelah setiap kali dijalankan, periode akan dijadwal ulang, terlepas dari hasilnya. Gambar
2 menggambarkan diagram status ringkas untuk pekerjaan berkala.
Gambar 2. Diagram status untuk pekerjaan berkala.
Status diblokir
Ada satu status akhir yang belum kami sebutkan, yaitu BLOCKED
. Status ini berlaku untuk pekerjaan yang diatur dalam rangkaian, atau rantai pekerjaan. Rantai pekerjaan, dan diagram statusnya, tercakup dalam Pekerjaan berantai.
Langkah Berikutnya
Dalam Mengelola tugas, Anda akan mempelajari cara mengelola dan memantau progres pekerjaan Anda lebih lanjut.