La función de biblioteca estándar sys.sleep
suspende la ejecución durante el número de segundos indicado, hasta un máximo de 31.536.000 (un año).
Pausar un flujo de trabajo
Puedes pausar la ejecución de un flujo de trabajo añadiendo un paso de suspensión a su definición. Este paso incluye una llamada a sys.sleep
y especifica en segundos el tiempo que quieres pausar el flujo de trabajo:
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
Consultar datos
También puedes usar sys.sleep
para sondear los datos durante un intervalo determinado. Por ejemplo, puede que quieras sondear una API hasta que se cumpla una condición específica:
YAML
main: params: [jobId] steps: - checkJob: call: http.get args: url: ${"https://example.com/jobs/" + jobId} auth: type: OAuth2 result: jobStatus - checkIfDone: switch: - condition: ${jobStatus.complete} return: ${jobStatus} - wait: call: sys.sleep args: seconds: 60 next: checkJob
JSON
{ "main": { "params": [ "jobId" ], "steps": [ { "checkJob": { "call": "http.get", "args": { "url": "${\"https://example.com/jobs/\" + jobId}", "auth": { "type": "OAuth2" } }, "result": "jobStatus" } }, { "checkIfDone": { "switch": [ { "condition": "${jobStatus.complete}", "return": "${jobStatus}" } ] } }, { "wait": { "call": "sys.sleep", "args": { "seconds": 60 }, "next": "checkJob" } } ] } }