Un estado Wait pausa la ejecución de un flujo durante un número específico de segundos y luego continúa con el siguiente estado. Utilícelo para introducir retrasos entre estados; por ejemplo, para esperar antes de reintentar una operación o espaciar llamadas a la API.
La duración máxima de la pausa depende del modo de flujo:
Modo estándar: de 1 a 300 segundos
Modo exprés: de 1 a 20 segundos
Atributos
|
Atributo |
Tipo |
Obligatorio |
Descripción |
|
Type |
string |
Sí |
Tipo de estado. Establezca este valor en |
|
Name |
string |
Sí |
Nombre del estado. |
|
Seconds |
int |
Sí |
Duración de la pausa en segundos. Valores válidos: de 1 a 300 (modo estándar) o de 1 a 20 (modo exprés). Para establecer el valor dinámicamente, use una expresión (consulte Establecer la duración de la espera dinámicamente). |
|
Description |
string |
No |
Descripción del estado. |
|
Next |
string |
No |
Estado que se ejecuta después de que este finalice. No es obligatorio si |
|
End |
bool |
No |
Marca este estado como el estado terminal del ámbito actual. |
|
InputConstructor |
map[string]any |
No |
Constructor de entrada. Para más detalles, consulte la sección InputConstructor en Entradas y salidas. |
|
OutputConstructor |
map[string]any |
No |
Constructor de salida. Para más detalles, consulte la sección OutputConstructor en Entradas y salidas. |
Ejemplos
Esperar un número fijo de segundos
El siguiente flujo se pausa durante 12 segundos antes de finalizar:
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Wait1
States:
- Type: Wait
Name: Wait1
Seconds: 12
End: true
Establecer la duración de la espera dinámicamente
Para determinar la duración de la pausa en tiempo de ejecución, utilice el sufijo .$ en el campo Seconds para leer el valor desde la entrada del flujo.
Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: DynamicWait
States:
- Type: Wait
Name: DynamicWait
Seconds.$: $Input.timeout
End: true
En este ejemplo, Seconds.$: $Input.timeout lee el valor de timeout de la entrada del flujo y lo usa como duración de la pausa en segundos.