Die Arbeit durchläuft während ihrer Lebensdauer eine Reihe von State
-Änderungen.
Status für einmalige Aufgaben
Bei einer one-time
-Arbeitsanfrage beginnt die Arbeit im Status ENQUEUED
.
Mit dem Status ENQUEUED
kann Ihre Arbeit ausgeführt werden, sobald die Anforderungen für Constraints
und die anfängliche Verzögerung erfüllt sind. Von dort wechselt er in den Status RUNNING
und je nach Ergebnis der Arbeit in SUCCEEDED
, FAILED
oder möglicherweise zurück zu ENQUEUED
, wenn das Ergebnis retry
ist. Zu jedem Zeitpunkt im Prozess kann die Arbeit abgebrochen werden. Dann geht sie in den Status CANCELLED
über.
Abbildung 1 veranschaulicht das Leben einer einmaligen Arbeit mit den Ereignissen, die diese in einen anderen Zustand versetzen können.
Abbildung 1: Statusdiagramm für einmalige Arbeiten.
SUCCEEDED
, FAILED
und CANCELLED
stellen einen Terminalstatus für diese Arbeit dar. Wenn Ihre Arbeit einen dieser Status hat, gibt WorkInfo.State.isFinished()
„true“ zurück.
Status von Periodika
Der Status „Erfolg“ und „Fehlgeschlagen“ gilt nur für einmalige und verkettete Arbeiten.
Bei regelmäßigen Arbeiten gibt es nur den Terminalstatus CANCELLED
. Dies liegt daran, dass regelmäßige
Arbeiten niemals enden. Nach jeder Ausführung wird unabhängig vom Ergebnis ein neuer Zeitplan erstellt. In Abbildung 2 ist das komprimierte Zustandsdiagramm für regelmäßige Arbeiten dargestellt.
Abbildung 2: Zustandsdiagramm für regelmäßige Arbeiten.
Status „Blockiert“
Es gibt einen letzten Zustand, den wir noch nicht erwähnt haben, und zwar BLOCKED
. Diese Angabe bezieht sich auf Werke, die in einer Reihe oder Arbeitskette orchestriert werden. Arbeitsketten und ihr Zustandsdiagramm werden im Abschnitt Kettenarbeit behandelt.
Nächste Schritte
Unter Arbeit verwalten erfahren Sie mehr darüber, wie Sie den Fortschritt Ihrer Arbeit verwalten und überwachen.