За время своего существования работа претерпевает ряд изменений State .
Статусы разовой работы
Для one-time запроса на работу ваша работа начинается в состоянии ENQUEUED .
В состоянии ENQUEUED ваша работа может быть запущена, как только будут выполнены ее Constraints и требования к первоначальному времени задержки. Отсюда он переходит в состояние RUNNING , а затем, в зависимости от результата работы, может перейти в состояние SUCCEEDED , FAILED или, возможно, обратно в ENQUEUED , если результатом является retry . В любой момент процесса работу можно отменить, после чего она перейдет в состояние CANCELLED .
Рисунок 1 иллюстрирует жизнь одноразовой работы с событиями, которые могут перевести ее в другое состояние.

Рисунок 1. Диаграмма состояний для разовой работы.
SUCCEEDED , FAILED и CANCELLED представляют собой конечное состояние этой работы. Если ваша работа находится в любом из этих состояний, WorkInfo.State.isFinished() возвращает true.
Периодические рабочие состояния
Состояния успеха и неудачи применимы только к разовой и цепной работе . Для периодической работы существует только одно терминальное состояние CANCELLED . Это потому, что периодическая работа никогда не заканчивается. После каждого запуска оно переносится, независимо от результата. На рис. 2 изображена сокращенная диаграмма состояний для периодической работы.

Рисунок 2. Диаграмма состояний периодической работы.
Заблокированное состояние
Есть еще одно последнее состояние, о котором мы еще не упомянули, — BLOCKED . Это состояние применяется к работе, организованной в виде серии или цепочки работ. Рабочие цепочки и их диаграмма состояний описаны в разделе Работа с цепочками .
Следующие шаги
В разделе «Управление работой» вы узнаете больше о том, как управлять и отслеживать ход своей работы.
, За время своего существования работа претерпевает ряд изменений State .
Статусы разовой работы
Для one-time запроса на работу ваша работа начинается в состоянии ENQUEUED .
В состоянии ENQUEUED ваша работа может быть запущена, как только будут выполнены ее Constraints и требования к первоначальному времени задержки. Отсюда он переходит в состояние RUNNING , а затем, в зависимости от результата работы, может перейти в состояние SUCCEEDED , FAILED или, возможно, обратно в ENQUEUED , если результатом является retry . В любой момент процесса работу можно отменить, после чего она перейдет в состояние CANCELLED .
Рисунок 1 иллюстрирует жизнь одноразовой работы с событиями, которые могут перевести ее в другое состояние.

Рисунок 1. Диаграмма состояний для разовой работы.
SUCCEEDED , FAILED и CANCELLED представляют собой конечное состояние этой работы. Если ваша работа находится в любом из этих состояний, WorkInfo.State.isFinished() возвращает true.
Периодические рабочие состояния
Состояния успеха и неудачи применимы только к разовой и цепной работе . Для периодической работы существует только одно терминальное состояние CANCELLED . Это потому, что периодическая работа никогда не заканчивается. После каждого запуска оно переносится, независимо от результата. На рис. 2 изображена сокращенная диаграмма состояний для периодической работы.

Рисунок 2. Диаграмма состояний периодической работы.
Заблокированное состояние
Есть еще одно последнее состояние, о котором мы еще не упомянули, — BLOCKED . Это состояние применяется к работе, организованной в виде серии или цепочки работ. Рабочие цепочки и их диаграмма состояний описаны в разделе Работа с цепочками .
Следующие шаги
В разделе «Управление работой» вы узнаете больше о том, как управлять и отслеживать ход своей работы.