Рабочие состояния

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

Следующие шаги

В разделе «Управление работой» вы узнаете больше о том, как управлять и отслеживать ход своей работы.