Menjeda eksekusi alur kerja memungkinkan Anda melakukan polling layanan eksternal atau menunggu hingga operasi yang berjalan lama selesai. sys.sleep
Fungsi pustaka standar
menangguhkan eksekusi selama beberapa detik yang ditentukan, hingga maksimum
31536000 (satu tahun).
Menjeda alur kerja
Anda dapat menjeda eksekusi alur kerja dengan menambahkan langkah penonaktifan ke definisi alur kerja. Langkah ini mencakup panggilan ke sys.sleep dan menentukan dalam
detik berapa lama Anda ingin menjeda alur kerja:
YAML
- STEP_NAME: call: sys.sleep args: seconds: SLEEP_IN_SECONDS
JSON
[ { "STEP_NAME": { "call": "sys.sleep", "args": { "seconds": "SLEEP_IN_SECONDS" } } } ]
Meminta data
Anda juga dapat menggunakan sys.sleep untuk melakukan polling data selama interval tertentu. Misalnya,
Anda mungkin ingin melakukan polling API hingga kondisi tertentu terpenuhi:
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" } } ] } }