A sys.sleep
função da biblioteca padrão
suspende a execução durante o número de segundos indicado até um máximo de 31 536 000 (um ano).
Pause um fluxo de trabalho
Pode pausar a execução de um fluxo de trabalho adicionando um passo de suspensão à definição do fluxo de trabalho. Este passo inclui uma chamada para sys.sleep
e especifica em segundos durante quanto tempo quer pausar o fluxo de trabalho:
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
Sondar dados
Também pode usar sys.sleep
para sondar dados num determinado intervalo. Por exemplo, pode querer sondar uma API até ser cumprida uma condição 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" } } ] } }