Arbeitsstatus
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Work states\n\nWork goes through a series of [`State`](/reference/androidx/work/WorkInfo.State)\nchanges over its lifetime.\n\nOne-time work states\n--------------------\n\nFor a\n[`one-time`](/topic/libraries/architecture/workmanager/how-to/define-work#schedule_one-time_work)\nwork request, your work begins in an\n[`ENQUEUED`](/reference/androidx/work/WorkInfo.State#ENQUEUED) state.\n\nIn the `ENQUEUED` state, your work is eligible to run as soon as its\n[`Constraints`](/reference/androidx/work/Constraints) and initial delay timing\nrequirements are met. From there it moves to a\n[`RUNNING`](/reference/androidx/work/WorkInfo.State#RUNNING) state and then\ndepending on the outcome of the work it may move to\n[`SUCCEEDED`](/reference/androidx/work/WorkInfo.State#SUCCEEDED),\n[`FAILED`](/reference/androidx/work/WorkInfo.State#FAILED), or possibly back to\n`ENQUEUED` if the result is\n[`retry`](/reference/androidx/work/ListenableWorker.Result#retry()). At any\npoint in the process, work can be cancelled, at which point it will move to the\n[`CANCELLED`](/reference/androidx/work/WorkInfo.State#CANCELLED) state.\n\nFigure 1 illustrates the life of one-time work, with the events that may take it to another state.\n\n**Figure 1.** State diagram for one-time work.\n\n`SUCCEEDED`, `FAILED` and `CANCELLED` all represent a terminal state for this\nwork. If your work is in any of these states,\n[`WorkInfo.State.isFinished()`](/reference/androidx/work/WorkInfo.State#isFinished())\nreturns true.\n\nPeriodic work states\n--------------------\n\nSuccess and failed states apply only to one-time and\n[chained work](/topic/libraries/architecture/workmanager/how-to/chain-work).\nFor [periodic work](/topic/libraries/architecture/workmanager/how-to/define-work#schedule_periodic_work),\nthere is only one terminal state, `CANCELLED`. This is because periodic work\nnever ends. After each run, it's rescheduled, regardless of the result. Figure\n2 depicts the condensed state diagram for periodic work.\n\n**Figure 2.** State diagram for periodic work.\n\nBlocked state\n-------------\n\nThere is one final state we haven't mentioned yet, and that is `BLOCKED`. This\nstate applies to work that is orchestrated in a series, or chain of work. Work\nchains, and their state diagram, are covered in\n[Chaining work](/topic/libraries/architecture/workmanager/how-to/chain-work).\n\nNext Steps\n==========\n\nIn [Managing work](/topic/libraries/architecture/workmanager/how-to/managing-work),\nyou'll learn more about how to manage and monitor the progress of your work."]]