Creado | ||
Editado |
|
Step Function plan-expiration
Descripción
Esta máquina de estado gestiona el proceso de expiracion de un plan, incluyendo la espera hasta la fecha de expiracion, la ejecución de la expiracion y la gestion para un posible cambio de fecha de expiracion. Permite controlar el momento en que un plan pasa a estar expirado en el sistema.
Parámetros Recibidos
plan_id: Identificador único del plan a expirar.timestamp: Fecha/hora en la que debe expirar el plan. Puede ser'END'para finalizar el proceso inmediatamente.taskToken: Token para integración y control externo de la ejecución.
Flujo Principal
Ejecución en paralelo
Rama 1: Guarda el task token para integración externa y permitir la edicion de la fecha de expiracion.
Rama 2: Verifica si debe finalizar el proceso o esperar hasta la fecha de expiración.
Verificación y espera
Check End Signal: Determina si el proceso debe finalizar inmediatamente (
timestamp = 'END') o continuar. Esto es necesario para manejar el caso en que el plan activo sea eliminado antes de poder llegar a su fecha de expiracionWait Until Expiration: Espera hasta la fecha/hora de expiración indicada por el parámetro
timestamp.Change Status: Ejecuta el cambio de estado del plan llamando a la Lambda correspondiente.
Finalización
End Gracefully: Finaliza el proceso exitosamente si corresponde. (Se alcanza este estado cuando se elimina el plan antes de su activacion)
Break Change Status: Finaliza el proceso tras expirar el plan.
Diagrama
Documentacion previa:
Diagrama
Código de Mermaid
stateDiagram-v2
[*] --> Parallel
state Parallel {
[*] --> SaveTaskToken
SaveTaskToken --> [*]
[*] --> Wait
Wait --> ChangeStatus
ChangeStatus --> [*]
}
Parallel --> Choice
Choice --> ChangeTimestamp : "Error != 'END'"
Choice --> Success : Default
ChangeTimestamp --> Parallel
Success --> [*]

