Trabajos

Esta funcionalidad está disponible exclusivamente en la edición Flowset Control Enterprise.

La sección Jobs se utiliza para ver y gestionar los trabajos asíncronos del motor BPM.

Un trabajo es un elemento de ejecución interno que el motor crea para el trabajo diferido o asíncrono: disparar temporizadores, ejecutar actividades de forma asíncrona y otras operaciones realizadas en segundo plano por el Job Executor. En la sección Job Executor se ofrece una descripción detallada de este mecanismo.

Los trabajos se pueden gestionar en tres lugares de la aplicación:

  • en la pantalla dedicada Jobs — sobre todos los trabajos del motor;

  • en la pestaña Jobs de la vista detallada de una instancia de proceso — para los trabajos de una instancia específica;

  • en la pestaña Job definitions de la vista detallada de una definición de proceso — para las definiciones de trabajos.

Pantalla de trabajos

La pantalla Jobs está disponible como un elemento independiente del menú de la aplicación y muestra todos los trabajos del motor BPM conectado, independientemente de la instancia de proceso.

jobs screen

La tabla admite ordenación y filtrado; para cada trabajo se muestra lo siguiente:

  • Id — el identificador del trabajo (con la opción de abrir la vista detallada).

  • Process instance — la instancia de proceso a la que pertenece el trabajo.

  • Process — la definición de proceso y su versión.

  • Creation date — la fecha y hora en que se creó el trabajo.

  • Due date — la fecha de vencimiento (para trabajos de temporizador).

  • Retries — el número restante de intentos de ejecución (un valor de 0 significa que los intentos se han agotado).

  • State — el estado del trabajo (Active / Suspended).

  • Priority — la prioridad del trabajo.

  • Failed activity — la actividad donde ocurrió el error.

Encima de la tabla hay filtros disponibles por tipo de trabajo — Executable jobs (listos para ejecutarse) y Timers (trabajos de temporizador). Los valores de filtro se almacenan en los parámetros de consulta de la URL, por lo que una lista filtrada se puede guardar como marcador o compartir como enlace.

Los datos de la pantalla se cargan de forma diferida, como en las demás pantallas de lista de la aplicación.

Operaciones en la pantalla de trabajos

Las operaciones Retry, Activate y Suspend se pueden aplicar a varios trabajos a la vez seleccionándolos en la tabla (operaciones masivas). Para un trabajo individual, están disponibles las acciones View (abrir la vista detallada), Set job priority (cambiar la prioridad) y Update due date (cambiar la fecha de vencimiento).

Estado del ejecutor de trabajos

En la parte superior de la pantalla hay un panel Job executor state que refleja el estado actual del Job Executor del motor:

Métrica Descripción

Active threads

El número de hilos que actualmente procesan trabajos ejecutables. También se muestra como porcentaje la proporción de hilos activos con respecto al tamaño del grupo. El color del valor depende de su magnitud: hasta el 50 % — verde, del 50 % al 80 % — amarillo, más del 80 % — rojo.

Thread pool size

El número máximo de hilos que pueden procesar trabajos. Se establece en una propiedad de la aplicación cuyo nombre depende del motor: camunda.bpm.job-execution.max-pool-size (Camunda 7) o operaton.bpm.job-execution.max-pool-size (Operaton). El valor real puede cambiar según la carga del motor.

Executable jobs

El número de trabajos listos para ejecutarse.

El panel Job executor state se muestra únicamente cuando se cumplen las siguientes condiciones:

  1. El Actuator está configurado tanto en el lado del motor BPM como en el lado de Flowset Control.

  2. Las métricas executor.active y executor.pool.size están habilitadas para el motor BPM, y se añade una etiqueta con el nombre name y el valor camundaTaskExecutor (para Camunda 7) o operatonTaskExecutor (para Operaton).

Pestaña Jobs en una instancia de proceso

La pestaña Jobs está disponible en la pantalla vista detallada de la instancia de proceso (el bloque Runtime) y muestra los trabajos de la instancia seleccionada.

jobs tab

Para cada trabajo se muestran las columnas Job, Failed activity, Create time, Retries, Priority y State; están disponibles las acciones Retry, Activate y Suspend.

Al hacer clic en el valor de la columna Failed activity se resalta el elemento correspondiente en el diagrama de la instancia de proceso, lo que ayuda a localizar rápidamente dónde ocurrió el error.

Operaciones sobre trabajos

Acción Descripción

Retry

Establece un nuevo número de intentos de ejecución, tras lo cual el Job Executor podrá tomar y ejecutar el trabajo de nuevo. Disponible solo para trabajos cuyo número de intentos es 0.

Activate

Reanuda la ejecución de un trabajo previamente suspendido. Disponible solo para trabajos en estado Suspended.

Suspend

Suspende la ejecución de un trabajo activo. Disponible solo para trabajos en estado Active.

Set job priority

Cambia la prioridad de ejecución del trabajo.

Update due date

Cambia la fecha de vencimiento del trabajo.

Reintentar un trabajo

Para reintentar un trabajo que finalizó con un error:

  1. Seleccione un trabajo con un valor de Retries de 0 y haga clic en Retry.

  2. En el cuadro de diálogo que se abre, especifique el número de intentos de ejecución en el campo Retries (el valor predeterminado es 1; el valor debe ser positivo).

    job retry dialog
  3. Haga clic en Retry para aplicar el nuevo número de intentos.

Vista detallada del trabajo

Para abrir información detallada sobre un trabajo, haga clic en su identificador o utilice la acción View.

job details

La pantalla contiene información detallada sobre el trabajo:

  • Job Id — el identificador del trabajo, con la opción de copiarlo.

  • Job type — el tipo de trabajo, por ejemplo timer-intermediate-transition (un evento de temporizador) o async-continuation (continuación asíncrona). Para el campo se muestra una información sobre herramientas localizada que explica el tipo.

  • State — el estado actual del trabajo (Active / Suspended).

  • Creation date y Due date — la hora de creación y la fecha de vencimiento del trabajo.

  • Priority — la prioridad del trabajo.

  • Retries — el número restante de intentos de ejecución.

  • Activity y Failed activity — la actividad del trabajo y la actividad donde ocurrió el error.

  • Process — la definición de proceso; el botón de navegación abre la definición de proceso.

  • Process instance — la instancia de proceso; el botón de navegación abre la vista detallada de la instancia.

  • Exception message y traza de la pila — el texto y la pila de llamadas completa del error de ejecución.

Para un trabajo que finalizó con un error (Retries = 0), los campos Exception message y traza de la pila muestran la causa del fallo, y la acción Retry permite volver a ejecutar el trabajo.

job details failed

Acciones en la vista detallada

En la parte inferior de la pantalla están disponibles las acciones Retry, Activate / Suspend, Copy stacktrace (copiar la pila de llamadas) y Copy error message (copiar el texto del error). El botón …​ abre acciones adicionales — Set priority y Update due date.

job actions menu

Cambiar la prioridad

La acción Set priority le permite establecer una nueva prioridad de ejecución para el trabajo en el campo New priority. La prioridad afecta al orden en que el Job Executor toma los trabajos.

job set priority

Cambiar la fecha de vencimiento

La acción Update due date cambia la fecha de vencimiento (Due date) del trabajo. El conjunto de parámetros depende del tipo de trabajo.

Para un trabajo de temporizador, puede elegir la operación (Operation):

  • Set — establecer la fecha de vencimiento en una fecha y hora especificadas por el usuario. Cuando se selecciona esta operación, aparece una casilla Update recurring timers; si está marcada, la fecha de vencimiento también se actualiza para los temporizadores recurrentes.

  • Recalculate — recalcular la fecha de vencimiento utilizando el motor. Cuando se selecciona esta operación, puede especificar la fecha base para el recálculo — la current time o la creation time del trabajo.

job change due date

Para trabajos que no son de temporizador, basta con especificar la nueva fecha y hora de ejecución sin parámetros adicionales.

Para los trabajos del sistema de tipo batch-monitor-job o batch-seed-job, las acciones adicionales no están disponibles — cuando se seleccionan, se muestra una advertencia que indica que se trata de un trabajo del sistema.

Si el trabajo ya se ha completado en el momento en que se realiza la acción, se muestra una advertencia correspondiente.

Pestaña Job definitions en una definición de proceso

La pestaña Job definitions está disponible en la pantalla vista detallada de la definición de proceso y muestra las Job Definitions de la versión de proceso seleccionada.

job definitions tab

Características de la pestaña:

  • los datos se actualizan cuando cambia la versión de la definición de proceso seleccionada;

  • al hacer clic en el valor de la columna Activity se resalta el elemento correspondiente en el diagrama del proceso;

  • para una definición de trabajo, están disponibles las acciones de activación y suspensión (según el estado actual), así como el cambio de la prioridad de sobrescritura.