Activiti6 - Introducción al aprendizaje - cronometraje de eventos de límite

Introducción

Declaración de derechos de autor: Este artículo es el artículo original del blogger de CSDN "Sima Cylinder Smashed the Cylinder". Sigue el acuerdo de derechos de autor CC 4.0 BY-SA. Adjunte el enlace de la fuente original y esta declaración para reimprimir.
Enlace original

Definición de evento de temporizador

Un evento de temporizador es un evento que se activa en función de un tiempo específico. Se puede utilizar para eventos de inicio, eventos intermedios o eventos de límite.

  • hora Fecha. Utilice el formato ISO 8601 para especificar una hora determinada, la hora de activación del evento. Ejemplo:
<timerEventDefinition>
    <timeDate>2011-03-11T12:13:14</timeDate>
</timerEventDefinition>
  • Duración de tiempo. Especifique cuánto tiempo esperar antes del temporizador, timeDuration se puede establecer como un elemento secundario de timerEventDefinition. Utilice el formato especificado por ISO 8601 (especificado por BPMN 2.0). Ejemplo (espere 1 día).
<timerEventDefinition>
    <timeDuration>P1D</timeDuration>
</timerEventDefinition>
  • timeCycle. Especifique el intervalo de repetición, que se puede utilizar para iniciar periódicamente la instancia del proceso o enviar varios recordatorios para el período de tiempo de espera. El elemento timeCycle puede utilizar dos formatos. El primero es el formato estándar ISO 8601. Ejemplo (repetido 3 veces, con 10 horas de diferencia cada vez):
<timerEventDefinition>
    <timeCycle>R3/PT10H</timeCycle>
</timerEventDefinition>

O puede usar expresiones cron para especificar timeCycle. El siguiente ejemplo comienza desde la hora y se ejecuta cada 5 minutos:

0 0/5 * * * ?

También puede utilizar expresiones en las definiciones de eventos de temporizador para poder influir en esa definición de temporizador a través de variables de proceso. La definición del proceso debe contener una cadena en formato ISO 8601 (o cron) para que coincida con el tipo de tiempo correspondiente.

<boundaryEvent id="escalationTimer" cancelActivity="true" 	attachedToRef="firstLineSupport">
     <timerEventDefinition>
       <timeDuration>${
    
    duration}</timeDuration>
     </timerEventDefinition>
</boundaryEvent>

Evento de límite de temporizador

Un evento de límite cronometrado es un reloj que se detiene y espera una advertencia. Cuando la ejecución del proceso alcanza el enlace vinculado al evento de límite, se inicia un temporizador. Hay dos tipos de eventos de límite de temporizador: interrumpibles y no interrumpibles. Puede establecer el atributo cancelActivity para el elemento boundaryEvent. Si se establece en verdadero, el flujo de ejecución original se interrumpirá y, si se establece en falso, el flujo de ejecución original aún existe. Los eventos de límite de temporizador son más adecuados en algunos escenarios de tiempo limitado. Por ejemplo, una tarea es manejada primero por un ingeniero junior, y cuando el ingeniero junior no ha terminado de procesarla después de 1 minuto, se entrega a un ingeniero senior.

Diagrama de flujo de diseño

Inserte la descripción de la imagen aquí

prueba

Proceso de publicación del proceso de
Inserte la descripción de la imagen aquí
inicio (consulta de prueba la tarea de usuario especificada
Inserte la descripción de la imagen aquí
, espera un minuto más tarde, vuelve a consultar la tarea) Después de un tiempo de espera, los registros act_ru_timer_job en la tabla desaparecerán, la
Inserte la descripción de la imagen aquí
tabla act_ru_task de ingenieros junior desaparecerá, reemplazada por un ingeniero senior con
Inserte la descripción de la imagen aquí
detalles de proceso específicos a continuación
Inserte la descripción de la imagen aquí
para estar aquí Se completa la prueba del evento de límite de tiempo.

Supongo que te gusta

Origin blog.csdn.net/Lv_vI/article/details/107630495
Recomendado
Clasificación