¿Cómo configuro los estados para la recuperación o passivation?

Dentro de la State Definiciones de un flujo en flo-lang, así como la capacidad de configurar si un state es terminal o no, también puede definir:

  • Si un flujo debe ser pasivado cuando la acción asociada con eso state ha sido procesado.

  • Si el state no es recuperable

Estas opciones son configurables por State definición, dentro de la " State Tabla de "Definiciones" para el flujo.

Para acceder a estas opciones, usted hace clic en el State nombre

state options

Y luego, ya sea:

  • Haga clic derecho en el State nombre, luego seleccione "Inspeccionar Nodo" de la lista

  • Presione Ctrl+Alt+I y esto presenta las opciones para el State.

state inspect options

Pasivación State

Configurando el State "Está pasivando" - causará que el Flujo se pasive cuando se mueva a esto State y la Acción de la Event La tabla de comportamiento se ejecuta. La pasivación elimina esencialmente la entidad de flujo de la memoria, para ser rehidratada y activada en un momento posterior.

Puede leer más sobre consideraciones para passivation aquí - Comprensión Passivation, Recordando Entidades y Programadores

Puede que esté interesado en hacer esto si sabe que el flujo estará inactivo durante un período de tiempo. Los ejemplos pueden incluir:

  • Envío de un pago por almacenamiento - El pago será recuperado y el procesamiento continuará en una fecha posterior. En este caso, pasivamos la instancia del flujo.

  • Envío de un pago para la verificación de sanciones-hay una buena posibilidad de que las sanciones no regresen de inmediato, por lo que no necesitamos que el flujo esté activo.

Independientemente del escenario, cualquier entrada de regreso al flujo causará que el flujo se rehidrate y se active para continuar procesando desde este state.

Recuperable State

Configurando el State ser "No Recuperable" - esto asegurará que cualquier acción asociada con el State a través de la Event La tabla de comportamiento se ejecuta solo una vez. El comportamiento predeterminado del IPF es reintentar la acción asociada con el State cuando se recupera un flujo (durante la aplicación restart). Establecer esta opción anula ese comportamiento predeterminado.

Esto significa hacer las preguntas '¿pueden las acciones asociadas con este state¿serán reproducidos?'. Donde no puedan ser reproducidos, el State debe establecerse como "No Recuperable".

Esto es particularmente útil cuando un dominio externo no puede tolerar solicitudes repetidas.