השהיה של הפעלת תהליך עבודה מאפשרת לבצע שאילתה לשירות חיצוני או להמתין לסיום של פעולה ארוכה. sys.sleep
הפונקציה בספרייה הרגילה משעה את הביצוע למספר שניות מוגדר, עד למקסימום של 31,536,000 (שנה אחת).
השהיית תהליך עבודה
אתם יכולים להשהות את הביצוע של תהליך עבודה על ידי הוספת שלב שינה להגדרה של תהליך העבודה. השלב הזה כולל קריאה לפונקציה 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" } } ] } }