Evento de recola de tareas

Este evento se emite cuando Batch vuelve a poner una tarea en cola para que pueda programarse de nuevo.

Una tarea puede volver a ser puesta en cola tras acciones de servicio como la eliminación de nodos, operaciones de desactivación de tareas que vuelven a poner tareas en cola u otros escenarios de recuperación orientados al servicio.

Cuando la tarea recolocada en cola se programa de nuevo, Batch emite un nuevo evento de inicio de tarea para ese intento posterior.

El siguiente ejemplo muestra el cuerpo de un evento de recola de tarea.

{
    "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, y schedulingError se llenan solo cuando Batch tiene información de error de ejecución para la tarea recolocada en cola.

Nombre del elemento Tipo Notas
jobId String Identificador del trabajo que contiene la tarea.
id String Identificador de la tarea.
taskType String Tipo de la tarea. O JobManager bien indica que es una tarea de gestor de trabajos o User que no es una tarea de gestor de trabajo. Este evento no se emite para las tareas de preparación del trabajo, las tareas de liberación de trabajos ni las tareas de inicio. Para esas tareas, véase evento de tarea especial.
systemTaskVersion Int32 Contador de reintento interno en una tarea. Internamente, el servicio Batch puede reintentar una tarea para tener en cuenta problemas transitorios. Estos problemas pueden incluir errores de programación interna o intentos de recuperación de nodos de proceso en un estado incorrecto.
requiredSlots Int32 Ranuras necesarias para ejecutar la tarea.
nodeInfo Tipo complejo Contiene información sobre el nodo de cómputo en el que la tarea se ejecutó más recientemente.
multiInstanceSettings Tipo complejo Especifica que la tarea es una tarea de instancias múltiples que requiere varios nodos de proceso. Consulte multiInstanceSettings para obtener más información.
constraints Tipo complejo Restricciones de ejecución que se aplican a esta tarea.
executionInfo Tipo complejo Contiene información sobre el estado de ejecución capturado cuando la tarea se volvió a poner en cola.

nodeInfo

Nombre del elemento Tipo Notas
poolId String El ID del grupo en el que se ejecutó la tarea más recientemente.
nodeId String El ID del nodo en el que se ejecutó la tarea más recientemente.

multiInstanceSettings

Nombre del elemento Tipo Notas
numberOfInstances Int32 Número de nodos de proceso requeridos por la tarea.

Restricciones

Nombre del elemento Tipo Notas
maxTaskRetryCount Int32 Número máximo de veces que se puede reintentar la tarea. El servicio Batch reintenta una tarea si su código de salida es distinto de cero.

Este valor controla específicamente el número de reintentos. El servicio Batch intenta la tarea una vez y, a continuación, puede volver a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta una tarea hasta cuatro veces (un intento inicial y tres reintentos).

Si el número máximo de reintentos es 0, el servicio Batch no reintenta las tareas.

Si el número máximo de reintentos es -1, el servicio Batch reintenta las tareas sin límite.

El valor predeterminado es 0 (sin reintentos).

executionInfo

Nombre del elemento Tipo Notas
startTime Fecha y hora El momento en que la tarea empezó a ejecutarse más recientemente antes de volver a ser puesta en cola. Si la tarea no hubiera comenzado, este campo podría omitirse.
endTime Fecha y hora La vez que la tarea dejó de ejecutarse más recientemente antes de volver a ser puesta en cola. Si la tarea no hubiera comenzado, este campo podría omitirse.
exitCode Int32 El código de salida de la ejecución de la tarea más reciente, cuando Batch tiene uno que informar. De lo contrario, este campo se omite.
retryCount Int32 Número de veces que el servicio Batch reintenta la tarea. La tarea se vuelve a intentar si sale con un código de salida distinto de cero, hasta el máximo especificado de reintentos.
requeueCount Int32 El número de veces que el servicio por lotes volvió a poner la tarea en cola. En la carga útil emitida actualmente, este campo refleja el contador de recola actual del servicio para la tarea.
result String Una cadena de resultados definida por servicio para la tarea cuando hay uno disponible.
schedulingError Tipo complejo Contiene información detallada sobre el error reportado, si hay alguno disponible.

schedulingError

Nombre del elemento Tipo Notas
category String La categoría de error, por ejemplo UserError.
code String El código de error, por BadCommandTypeejemplo .
message String El mensaje de error.
details Array Una lista de pares nombre-valor que proporciona más detalles sobre el error. Si no hay valores de detalle adicionales disponibles, el array queda vacío.

details

Nombre del elemento Tipo Notas
name String El nombre del detalle.
value String El valor del detalle.