<< Clic para mostrar Tabla de Contenidos >> Ejecución de tareas automáticas en secuencia |
Introducción
En Bizagi también se pueden ejecutar subprocesos múltiplles como una actividad asincrónica. Consulte Ejecutar varias instancias de forma asincrónica. Sin embargo, debe tener en cuenta las mejores prácticas al ejecutar secuencias o una combinación de actividades asincrónicas con subprocesos asincrónicos. Esta sección explica las recomendaciones cuando ejecuta una serie de actividades en secuencia.
Ejecución de actividades en secuencia
Cuando modela una secuencia de actividades como tareas de servicio o subprocesos multiples configurados como síncronos, Bizagi ejecuta todas las tareas en la misma transacción.
Esta no es una práctica recomendada. Recomendamos usar comportamientos asíncronos. |
Para el subproceso múltiple, los casos se crean sincrónicamente y se tratan en la misma transacción, a menos que haya un elemento asíncrono dentro del subproceso. En caso de que falle alguna de las ejecuciones, Bizagi detendrá la transacción y hará rollback, al inicio de la transacción. Tenga en mente que, cuando tiene un conjunto largo de ejecuciones sincrónicas, puede potencialmente ralentizar el sistema debido a la alta carga de recursos para ejecutar en una gran transacción.
Para evitar esto, evalúe para cada actividad si esta debería ser:
a. Una actividad asincrónica.
b. Una tarea de ejecución con una expresión onExit u onEnter.
Considere cuando haga el análisis que, algunos servicios que se encuentren en actividades sincrónicas deben ser ejecutados de nuevo. |
Si usted quiere guardar el rollback completo hasta el inicio del caso, la mejor opción es la b. De esa manera, se crearán menos entradas en la base de datos (tablas relacionadas a tareas asincrónicas). |
Ejecución asincrónica como práctica recomendada
En este escenario, la mejor práctica es configurar cada ejecución tanto para las tareas de servicio como para varios subprocesos utilizando la propiedad asincrónica. Esta propiedad le permite a Bizagi ejecutar cada tarea por separado (en transacciones individuales), en lugar de ejecutar una transacción larga.
Las actividades asincrónicas con la retroalimentación (feedback) deshabilitado y los reintentos, son ejecutados por el Scheduler.
Cuando tiene varias actividades asíncronas combinadas en secuencia con otros elementos BPMN, la transacción de la tarea asíncrona extiende la ejecución de otros elementos hasta que encuentra alguno de los siguientes elementos:
•Temporizador
•evento final
•Compuerta convergente como sincronización y aún no se cumple la condición.
•Tarea de usuario o evento manual
•otra tarea asincrónica
Por ejemplo, cuando una actividad asincrónica inicia su ejecución por el Scheduler,, la misma transacción continúa hasta que encuentra alguno de los elementos mencionados anteriormente.
Es muy importante tener esto en cuenta al definir el tiempo de espera (timeout) de la actividad asincrónica, porque, si hay otros elementos ejecutados en secuencia, esto puede afectar el tiempo de respuesta de la actividad asincrónica. La mejor práctica es evitar transacciones de larga duración convirtiendo tanto como sea posible las tareas automáticas en actividades asincrónicas.
Last Updated 9/12/2023 9:38:25 AM