Событие повторной очереди задач

Это событие возникает, когда Batch снова ставит задачу в очередь, чтобы её можно было запланировать заново.

Задачу можно снова поставить в очередь после сервисных действий, таких как удаление узлов, операции отключения заданий, которые возвращают задачи в очередь, или других сценариев восстановления, управляемых сервисами.

Когда снова назначена задача в очередь, Batch запускает новое событие запуска задачи для этой последующей попытки.

Следующий пример показывает тело события повторной очереди задачи.

{
    "jobId": "myJob",
    "id": "myTask",
    "taskType": "User",
    "systemTaskVersion": 3,
    "requiredSlots": 1,
    "nodeInfo": {
        "poolId": "pool-001",
        "nodeId": "tvm-257509324_1-20160908t162728z"
    },
    "multiInstanceSettings": {
        "numberOfInstances": 1
    },
    "constraints": {
        "maxTaskRetryCount": 2
    },
    "executionInfo": {
        "startTime": "2016-09-08T16:32:23.799Z",
        "endTime": "2016-09-08T16:34:00.666Z",
        "exitCode": 11,
        "retryCount": 0,
        "requeueCount": 1,
        "result": "failure",
        "schedulingError": {
            "category": "UserError",
            "code": "BadCommandType",
            "message": "Task has invalid command",
            "details": [
                {
                    "name": "Reason",
                    "value": "Access denied"
                }
            ]
        }
    }
}

exitCode, result, и schedulingError заполняются только тогда, когда в пакете есть информация об ошибке выполнения для перепоставленной задачи.

Имя элемента Тип Примечания
jobId String Идентификатор задания, содержащего задачу.
id String Идентификатор задачи.
taskType String Тип задачи. Это либо JobManager означает, что это задача менеджера по работе, либо User не задача менеджера по работе. Это событие не создается для задач подготовки заданий, задач выпуска задания или запуска задач. Для этих задач см. специальное событие.
systemTaskVersion Int32 Внутренний счетчик повторных попыток для задачи. Внутренняя служба пакетной службы может повторить задачу, чтобы учесть временные проблемы. Эти проблемы могут включать внутренние ошибки планирования или попытки восстановления с вычислительных узлов в плохом состоянии.
requiredSlots Int32 Необходимые слоты для выполнения задачи.
nodeInfo Сложный тип Содержит информацию о вычислительном узле, на котором задача была выполнена в последний раз.
multiInstanceSettings Сложный тип Указывает, что задача является задачей с несколькими экземплярами, требующей нескольких вычислительных узлов. Подробные сведения см. в разделе multiInstanceSettings.
constraints Сложный тип Ограничения выполнения, применяемые к этой задаче.
executionInfo Сложный тип Содержит информацию о состоянии выполнения, зафиксированную при повторном запуске задачи.

nodeInfo

Имя элемента Тип Примечания
poolId String ID пула, на котором недавно проходила задача.
nodeId String ID узла, на котором недавно выполнялась задача.

multiInstanceSettings

Имя элемента Тип Примечания
numberOfInstances Int32 Количество вычислительных узлов, необходимых задаче.

ограничения

Имя элемента Тип Примечания
maxTaskRetryCount Int32 Максимальное количество попыток выполнения задачи. Пакетная служба повторяет задачу, если его код выхода не является ненулевой.

Это значение специально определяет количество повторных попыток. Пакетная служба пытается выполнить задачу один раз и может повторить попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакетная служба пытается выполнить задачу до четырех раз (одна начальная попытка и три повторных попытки).

Если максимальное число повторных попыток равно 0, пакетная служба не выполняет повторные задачи.

Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачи без ограничения.

Значение по умолчанию равно 0 (без повторных попыток).

executionInfo

Имя элемента Тип Примечания
startTime DateTime Время, когда задача в последний раз начала выполняться до того, как её снова поставили в очередь. Если бы задача не началась, это поле могло быть опущено.
endTime DateTime Время, когда задача в последний раз перестала выполняться до того, как её снова поставили в очередь. Если бы задача не началась, это поле могло быть опущено.
exitCode Int32 Код выхода из последнего выполнения задачи, когда у Batch есть его для отчёта. В противном случае это поле опускается.
retryCount Int32 Количество повторных попыток пакетной службы. Задача повторяется, если она выходит с ненулевой кодом выхода, с максимальным заданным количеством повторных попыток.
requeueCount Int32 Количество раз, когда пакетная служба снова ставила задачу в очередь. В текущей выпущенной полезной нагрузке это поле отражает текущий счётчик повторной очереди сервиса для задачи.
result String Строка результата, определённая сервисом, для задачи, когда она доступна.
schedulingError Сложный тип Содержит подробную информацию о сообщенной ошибке, если она доступна.

ПланированиеError

Имя элемента Тип Примечания
category String Категория ошибок, например UserError.
code String Например, код BadCommandTypeошибки .
message String Сообщение об ошибке.
details Массив Список пар имя-значение, дающий более подробную информацию об ошибке. Если дополнительных значений деталей нет, массив становится пустым.

details

Имя элемента Тип Примечания
name String Название детали.
value String Ценность детализации.