İş, kullanım ömrü boyunca bir dizi State
değişikliğinden geçer.
Bir kerelik çalışma durumları
one-time
iş isteği için çalışmanız ENQUEUED
durumunda başlar.
ENQUEUED
durumunda, çalışmanız Constraints
ve ilk gecikme süresi gereksinimleri karşılanır karşılanmaz çalıştırılmaya uygun olur. Sonrasında RUNNING
durumuna geçer ve daha sonra çalışmanın sonucuna bağlı olarak
SUCCEEDED
FAILED
durumuna geçebilir veya sonuç retry
ise
ENQUEUED
durumuna geçebilir. İşlemin herhangi bir noktasında çalışma iptal edilebilir ve bu noktada CANCELLED
durumuna geçer.
Şekil 1'de tek seferlik bir çalışmanın ömrü, başka bir duruma gönül veren olaylarla birlikte gösterilmektedir.
Şekil 1. Tek seferlik çalışmaya ilişkin durum diyagramı.
SUCCEEDED
, FAILED
ve CANCELLED
öğelerinin tümü bu çalışma için bir terminal durumunu temsil eder. Çalışmanız bu durumlardan birindeyse WorkInfo.State.isFinished()
doğru değerini döndürür.
Periyodik çalışma durumları
Başarılı ve başarısız durumları yalnızca tek seferlik ve zincirlemeli çalışmalar için geçerlidir.
Periyodik çalışmalar için yalnızca bir terminal durumu vardır, CANCELLED
. Bunun nedeni dönemsel çalışmanın
hiçbir zaman sona ermemesidir. Her çalıştırmadan sonra, sonuçtan bağımsız olarak yeniden planlanır. Şekil 2'de periyodik çalışmanın sıkışık durum diyagramı gösterilmektedir.
2. Şekil. Periyodik çalışmaların durum diyagramı.
Engellendi durumu
Henüz belirtmediğimiz bir son durum var. Bu, BLOCKED
. Bu durum, bir dizi veya iş zinciri halinde düzenlenmiş çalışmalar için geçerlidir. İş zincirleri ve durum şemaları, Zincirleme iş bölümünde ele alınmıştır.
Sonraki adımlar
İşi yönetme bölümünde işinizin ilerlemesini yönetme ve izleme hakkında daha fazla bilgi edineceksiniz.