sys.sleep
標準ライブラリ関数は、指定された秒数から最大 31,536,000 秒(1 年間)実行を一時停止します。
ワークフローの一時停止
ワークフローは、その定義にスリープ ステップを追加することで、実行を一時停止できます。このステップには、sys.sleep
の呼び出しと、ワークフローを一時停止する期間を秒単位で記述します。
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
データのポーリング
sys.sleep
を使用して、特定の間隔でデータをポーリングすることもできます。たとえば、特定の条件が満たされるまで API をポーリングできます。
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" } } ] } }