A função da biblioteca padrão sys.sleep
suspende a execução pelo número determinado de segundos até um máximo de 31536000 (um
ano).
Pausar um fluxo de trabalho
É possível pausar a execução de um fluxo de trabalho adicionando uma etapa de suspensão à
definição do fluxo. Essa etapa inclui uma chamada para sys.sleep
e especifica, por quanto tempo você quer pausar o fluxo de trabalho em segundos:
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
Pesquisar dados
Também é possível usar sys.sleep
para pesquisar dados em um determinado intervalo. Por exemplo,
pesquisar uma API até que uma condição específica seja atendida:
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" } } ] } }