La función de biblioteca estándar sys.sleep
suspende la ejecución durante la cantidad de segundos determinada hasta un máximo de 31536000 (un año).
Cómo pausar un flujo de trabajo
Para pausar la ejecución de un flujo de trabajo, agrega un paso de suspensión a la definición del flujo de trabajo. Este paso incluye una llamada a sys.sleep
y especifica en segundos durante cuánto tiempo deseas 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" } } } ]
Cómo sondear datos
También puedes usar sys.sleep
para sondear datos en un intervalo determinado. Por ejemplo,
es posible que desees 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" } } ] } }