Arbeitsstatus

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.