Especificación del Trabajo y Estado
Una Especificación de Trabajo es un conjunto detallado de instructions que indica el IPF Persistent Scheduler cómo ejecutar un trabajo específico. Incluye varios componentes clave, cada uno con un propósito específico. Un trabajo puede tener diferentes estados dependiendo de en qué parte de su ciclo de vida se encuentre:
Especificación del Puesto
Consiste en las siguientes partes:
| Nombre | ¿Obligatorio? | Descripción |
|---|---|---|
|
Sí |
Un identificador único para este trabajo |
|
Sí |
Un identificador único para el solicitante (un solicitante puede tener múltiples trabajos) |
|
No |
El cron expression para un trabajo recurrente. |
|
No |
El tiempo exacto para programar un trabajo único (con precisión de milisegundos). |
|
Sí |
El |
|
Sí |
Identificador para pasar junto al |
|
No |
Si está configurado, cuando un failed se detecta la ejecución, el |
|
No |
Identificador para pasar junto con el |
|
No |
Calendario a utilizar para este trabajo (ver Calendarios) |
|
No |
Un identificador de zona horaria, como |
|
No |
Umbral de duración para el manejo de la ejecución tardía.
Si el trabajo comienza después del tiempo planificado más este umbral, |
|
No |
Utilizado para el índice de Tiempo de Vida (Índices TTL). Trabajos puntuales que se han ejecutado con éxito. Trabajos temporales que tienen failed ejecución. Todos los trabajos que han sido cancelados. Todos estos trabajos se actualizarán con un "tiempo de eliminación" y ya no estarán disponibles al consultarlos en la base de datos. Nos permitirá recuperar rápidamente las últimas especificaciones de trabajo y filtrar (en caso de rehidratación) los trabajos que han sido excluidos. |
|
No |
Un Contexto de Procesamiento para este trabajo.
Si usted eligió proporcionar un Contexto de Procesamiento, los valores para |
Una especificación de trabajo válida DEBE especificar exactamente uno de schedulingSpecification(para un cron-basado en trabajo recurrente) o singleSchedule(para un trabajo único en un específico instant).
Configurar ambos resultará en un fallo.
|
Estado de Ejecución del Trabajo
El JobExecutionStatus la colección está vinculada a la JobSpecification colección por el jobSpecificationId campo.
El JobExecutionStatus La colección va a cambiar con más frecuencia, porque el estado de un trabajo cambia con más frecuencia que su especificación.
Contiene el jobSpecificationId, el executionStatus el updatedTime y el deleteTime.
Es una colección de solo anexos y para obtener el estado actual de la ejecución del trabajo, solo necesitamos ordenar por updatedTime y obtenga la entrada más reciente.
De manera similar a la JobSpecification colección, la deleteTime El campo se utiliza para el índice TTL (Tiempo de Vida).
Además, para trabajos recurrentes, cuando un trabajo es triggered, la entrada anterior será marcada para su eliminación.
Solo la entrada más reciente merece ser conservada.