Wenn Sie die Ausführung eines Workflows pausieren, können Sie einen externen Dienst abfragen oder warten, bis ein Vorgang mit langer Ausführungszeit abgeschlossen ist. Die sys.sleep
Standardbibliotheksfunktion unterbricht die Ausführung für eine angegebene Anzahl von Sekunden, bis zu einem Maximum von 31.536.000 (ein Jahr).
Workflow anhalten
Sie können die Ausführung eines Workflows anhalten, indem Sie der Definition Ihres Workflows einen Ruhemodusschritt hinzufügen. Dieser Schritt enthält einen Aufruf von sys.sleep und gibt in Sekunden an, wie lange der Workflow pausiert werden soll:
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
Daten abfragen
Sie können auch sys.sleep verwenden, um Daten in einem bestimmten Intervall abzufragen. Sie können beispielsweise eine API abfragen, bis eine bestimmte Bedingung erfüllt ist:
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" } } ] } }