За время своего существования работа претерпевает ряд изменений 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
. Это состояние применяется к работе, организованной в виде серии или цепочки работ. Рабочие цепочки и их диаграмма состояний описаны в разделе Работа с цепочками .
Следующие шаги
В разделе «Управление работой» вы узнаете больше о том, как управлять и отслеживать ход своей работы.